在开源项目中,我看到以下两种编写规范的方式:
评论中的规范
@spec start_link() -> {ok, pid()}
源代码中的规范
-spec start_link() -> {ok, pid()}
有什么区别?一个人比另一个更受欢迎吗?
答案 0 :(得分:13)
评论(@spec
)版本早于源代码(-spec
)版本。后者是可取的。
注意:虽然仍然可以使用下面描述的语法 对于指定函数,我们建议将Erlang规范作为 Types and Function Specification中描述的内容应添加到。{3}}中 而是源代码。这样,Dialyzer的分析就可以了 在保持文档一致性的过程中使用 最新。除非还有一个,否则将使用Erlang规范 函数规范(@spec标记后跟一个类型)具有相同的 名。