sta*_*ker 5 documentation paradigms functional-programming
是否有功能语言的标准文档(如UML for OO)?在下载了用erlang编写的沙发数据库并查看源代码后,我很震惊,几乎没有一行文档.是否没有必要记录所有这些功能如何相互依赖?是否有更好的文档中型项目可以免费学习,如何使用这种范式完成工作?
在像Haskell或ML这样的函数式语言中,它们有类型和模块类型(在标准ML中称为"签名"),这些类型提供了大量的文档.在诸如Scheme之类的函数式语言中,它们没有由编译器检查的类型,它们使用"契约"代替 - 除非它们是草率的.
Erlang是在爱立信开发的,电信行业拥有非常强大的文化和测试记录.如果这些函数应该如何工作的文档是在某个测试套件中,那就不会让我感到惊讶.
总结:标准的两个最接近的东西是类型(对于具有静态类型系统的函数语言)和契约(对于没有静态类型系统的函数语言).
无论语言如何,都应该记录代码。
似乎有一种称为 EDoc 的标准文档样式。EDoc能够生成外部API文档;引用一个来源:
EDoc 是 Erlang 标准应用程序,用于直接在 Erlang 代码中记录 Erlang API。
erlang.org 的文档部分引用了这一点:
EDoc 允许您使用“@Name ...”形式的标签将 Erlang 程序的文档编写为源代码本身中的注释。源文件不必包含 EDoc 生成其文档的标签,但如果没有标签,结果将仅包含可从模块中提取的基本可用信息。
集中的谷歌搜索将带您离开这里。