Python库中的命名约定
时间:2020-03-06 15:05:17 来源:igfitidea点击:
我正在python包中实现搜索算法(我们称其为MyAlg)。由于算法非常复杂,因此程序包必须包含用于算法选项的辅助类。目前,我正在独自开发整个程序包(而且我不是程序员),但是我希望稍后有1-2位程序员加入该项目。这将是我的第一个涉及外部程序员的项目。因此,为了使他们的生活更轻松,我该如何命名此类:Options,OptionsMyAlg,MyAlgOptions或者其他?
除了http://www.joelonsoftware.com/articles/Wrong.html以外,我们建议我阅读本主题什么?
谢谢
尤里
[从此处发布的交叉:http://discuss.joelonsoftware.com/default.asp?design.4.684669.0将在两个地方更新答案]
解决方案
我建议我们阅读PEP8(Python代码样式指南)。
仅将其命名为" Options"应该没问题。 Python标准库通常采用这样的理念,即名称空间使不同的程序包具有相同名称的事物变得容易且易于管理。例如," open"既是" os"模块中的内置函数,又是一个函数,几个不同的模块定义了" Error"异常类,依此类推。
这就是为什么通常认为从from some_module import *中说出错误的形式的原因,因为它不清楚代码指向哪个open等等。
如果所有文件都适合一个文件,则将其命名为"选项"类。然后用户可以写:
import myalg searchOpts = myalg.Options() searchOpts.whatever() mySearcher = myalg.SearchAlg(searchOpts) mySearcher.search("where's waldo?")
请注意,另一个答案中引用的《 Python样式指南》建议应使用所有小写字母来命名软件包。