我很快就开始了一个开源 Python 项目,我正在尝试提前决定如何编写我的文档字符串。显而易见的答案是使用 reStructuredText 和 Sphinx with autodoc
,因为我真的很喜欢在我的文档字符串中正确记录我的代码然后让 Sphinx 自动为我构建一个 API 文档的想法。
问题在于它使用的 reStructuredText 语法——我认为它在渲染之前完全不可读。例如:
:param path: The path of the file to wrap
:type path: str
:param field_storage: The :class:`FileStorage` instance to wrap
:type field_storage: FileStorage
:param temporary: Whether or not to delete the file when the File instance
is destructed
:type temporary: bool
您必须真正放慢速度并花一点时间从语法混乱中弄清楚。我更喜欢 Google 的方式(Google Python Style Guide),上面的对应物是这样的:
参数: path (str): 要包装的文件的路径 field_storage (FileStorage):要包装的 FileStorage 实例 temporary(bool): File 时是否删除文件 实例被破坏
好多了!但当然,Sphinx 将没有这些,而是将所有文本呈现Args:
在一行之后。
所以总结一下 - 在我去使用这种 reStructuredText 语法污染我的代码库之前,我想知道是否有任何真正的替代方法可以使用它和 Sphinx,而不仅仅是编写我自己的 API 文档。例如,是否有处理 Google Style Guide 的文档字符串样式的 Sphinx 扩展?