【发布时间】:2010-09-28 05:30:17
【问题描述】:
我即将开始一个项目,我将是唯一一个编写实际代码的人,两名经验不足的程序员(害怕认为自己有经验!)将观察整个程序并提出建议。
是否有一个好的(免费)系统可以用来根据我编写的代码为类和函数提供文档?这可能对他们掌握数据结构有很大帮助。
【问题讨论】:
-
尝试了建议后,我将使用 epydoc。
标签: python data-structures documentation
我即将开始一个项目,我将是唯一一个编写实际代码的人,两名经验不足的程序员(害怕认为自己有经验!)将观察整个程序并提出建议。
是否有一个好的(免费)系统可以用来根据我编写的代码为类和函数提供文档?这可能对他们掌握数据结构有很大帮助。
【问题讨论】:
标签: python data-structures documentation
我使用epydoc 从嵌入式文档字符串生成 Python 模块的文档。它非常易于使用,并且可以生成多种格式的漂亮输出。
【讨论】:
python.org 现在使用 sphinx 作为它的文档。
我个人更喜欢 sphinx 的输出而不是 epydoc。我也觉得重组后的文本在文档字符串中比 epydoc 标记更容易阅读。
【讨论】:
autodoc 插件,允许您从文档字符串中提取文档。
【讨论】:
我在我的项目中使用 Sphinx,不仅因为它看起来不错,还因为 Sphinx 鼓励编写文档供人类阅读,而不仅仅是计算机。
我发现像 epydoc 这样的工具生成的 JavaDoc 风格的文档读起来很让人难过。程序员不自觉地“记录”参数和返回类型的情况经常发生,因为否则 API 文档中会出现空白。所以你最终得到了这个代码行(它应该看起来像 Java,但是我写 Java 已经有一段时间了,所以它可能无法编译......)
/**
* Set the name.
*
* @param firstName the first name.
* @param lastName the last name.
*/
public void setName(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
在这个所谓的“文档”中有非常少量的信息。我更喜欢 Sphinx 方式,您(使用 autodoc 插件)只需编写
.. autofunction:: set_name
然后 Sphinx 会在您的文档中添加一行内容
set_name(first_name,last_name)
因此每个 Python 程序员都应该知道发生了什么。
【讨论】:
查看can-i-document-python-code-with-doxygen-and-does-it-make-sense 的答案,尤其是那些提到Epydoc 和pydoctor 的答案。
【讨论】: