Erlang规格书撰写指南

11
在开源项目中,我看到以下两种编写规范的方式:
注释中编写规范
@spec start_link() -> {ok, pid()}

源代码中的规格说明

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

这两者有何区别?是否有一种更受欢迎?

1个回答

13
@spec版本早于-spec版本。后者更可取。
根据EDoc文档
注意:尽管下面描述的语法仍然可用于指定函数,但我们建议将Erlang规范添加到源代码中,如类型和函数规范所述。这样,Dialyzer的分析就可以在保持文档一致和最新的过程中发挥作用。除非有相同名称的函数规范(@spec标签后跟类型),否则将使用Erlang规范。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接