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