2012-02-09 14 views
11

w projektach open source widzę następujące dwa sposoby pisania Specyfikacja:Przewodnik do pisania specyfikacji w Erlang

Specs w komentarzach

@spec start_link() -> {ok, pid()} 

Specyfikacja w kodzie źródłowym

-spec start_link() -> {ok, pid()} 

Jaka jest różnica? Czy preferujesz jeden nad drugim?

Odpowiedz

13

Wersja komentarza (@spec) poprzedza wersję kodu źródłowego (-spec). To ostatnie jest lepsze.

według EDoc documentation:

Uwaga: Chociaż składnia opisane poniżej mogą być nadal używane do określania funkcji zalecamy specyfikacje Erlang jak opisane w Types and Function Specification powinien być dodany do kodu źródłowego zamiast . W ten sposób analizy Dializera mogą być wykorzystywane w procesie utrzymania spójności dokumentacji i aktualizacji. Zostaną użyte specyfikacje Erlang, chyba że istnieje również specyfikacja funkcji (tag @spec, po którym następuje typ) o tej samej nazwie .