python – 使用三引号在非标准上下文中创建“docstrings”是一个好习惯吗?

我正在看某人的代码,这些代码在所有地方都有这种“docstrings”:

SLEEP_TIME_ON_FAILURE = 5
"""Time to keep the connection open in case of failure."""

SOCKET_TIMEOUT = 15
"""Socket timeout for inherited socket."""

...

根据Python文档,docstrings仅适用于模块,类或方法的开头.

上述非标准做法的含义是什么?为什么Python允许这个?这不会对性能产生影响吗?

解决方法:

就Python而言,这些不是文档字符串.它们只是用作表达式语句的字符串文字.你可以这样做 – 你可以使用任何有效的Python表达式作为自己的语句. Python并不关心表达式是否真的有效.对于自己的一个字符串,唯一的性能影响是在字节码编译时非常少量的额外工作;在运行时没有任何影响,因为这些字符串得到了优化.

一些文档生成器会查看这些字符串.例如,非常常见的Sphinx autodoc扩展将解析这些字符串以记录它们正上方的任何内容.在更改代码之前,请检查是否使用了类似的内容.

上一篇:Java代码评论最佳实践


下一篇:PHP评论代码帮助