用装饰器修改python docstring:这是个好主意吗?

时间:2012-03-16 21:35:20

标签: python

python docstring必须作为文字字符串给出;但有时为几个函数(例如,不同的构造函数)创建类似的文档字符串是有用的,或者几个访问方法可能接受相同的参数列表(然后依赖于相同的隐藏方法),因此使用相同的描述无处不在。对于这种情况,我可以通过分配给__doc__来构造文档字符串,我通过一个简单的装饰器来完成。系统运行得非常好(在python 2中),我很高兴它是多么简单,清晰和封装好。

问题:这是个好主意吗?特别是,是否存在会被此设置混淆的工具(例如,从源提取文档字符串而不是从字节码中提取文档字符串的任何内容)。解决方案仍然可以在python 3中运行吗?还有其他原因或情况会导致这种情况不可取吗?

1 个答案:

答案 0 :(得分:4)

它不应该破坏任何工具,它应该适用于Python 3。

没关系如果它不会损害源代码的可读性,即你仍然可以找到该函数的作用以及如何使用它。

问题可能是它掩盖了糟糕的设计。如果有几个方法使用相同的参数列表,则应该重构代码(创建一个与列表一起使用的对象),而不是通过生成重复的文档字符串来修补。