Closed linearregression closed 9 years ago
Did you typer it or manually generate them?
Typer then hand massage. Annotate obscure the src code make it hard to read. Context is also absent. For example: -spec waiting_for_socket({'socket_ready',port()},#state{socket::'undefined' | port(),send_timeout::'undefined' | non_neg_integer(),inactivity_timeout::'infinity' | 'undefined' | non_neg_integer(),client_ip::'undefined' | tuple(),client_node::atom()}) -> {'next_state','waiting_for_data',#state{socket::port(),send_timeout::'undefined' | non_neg_integer(),inactivity_timeout::'infinity' | 'undefined' | non_neg_integer(),client_ip::'undefined' | tuple(),client_node::atom()}} | {'stop',{'badtcp','invalid_client_ip'},#state{socket::'undefined' | port(),send_timeout::'undefined' | non_neg_integer(),inactivity_timeout::'infinity' | 'undefined' | non_neg_integer(),client_ip::'undefined' | tuple(),client_node::atom()}}. waiting_for_socket({socket_ready, Socket}, #state{client_ip=ClientIp} = State) -> ... The spec is for tool processing and honestly not economical. I was very tempted to put those that to some header file.
You can try using make spec
after running make dialyzer
to get everything generated. Thanks!