可能重复: 我应该在一个文件中放多少个Python类?
来自C++背景的我已经习惯于组织我的类,在大多数情况下,类和文件之间的比例是1:1。通过使其使单个文件包含单个类,我发现代码更适合导航。当我自我介绍Python时,我发现了许多示例,其中一个文件包含多个类。这是用Python进行操作的推荐方法吗?如果是,为什么?
我是不是错过了PEP8的这个惯例?
发布于 2009-07-07 11:28:15
以下是一些可能的原因:
一个大致相同功能的例子:Java的log4j =>几十个文件,~8000 SLOC。=> 3文件,~2800SLOC。
发布于 2009-07-07 11:19:41
有一句格言:“平面比嵌套好”,这通常会阻止过度使用层次结构。我不确定在何时创建一个新模块时是否有严格的规则--在大多数情况下,人们只是使用他们的酌处权对逻辑相关的功能(与特定问题域相关的类和函数)进行分组。
Good 来自Python邮件列表的线程,还有Fredrik Lundh的一句话:
更重要的是,在Python中,并不是每件事都使用类;如果需要工厂、单例、创建对象的多种方法、多态帮助等等,则使用普通函数,而不是类或静态方法。 一旦克服了“这是所有类”,就使用模块来以一种对使用您的组件的代码有意义的方式来组织事情。 使导入语句看起来很好。
发布于 2009-07-07 11:32:33
“专家Python编程”一书有一些相关的讨论
第4章:选择好名字:“构建名称空间树”和“拆分代码”
我的路线粗略总结:收集一些相关的类到一个模块(源文件),并收集一些相关模块到一个包,有助于代码的维护。
https://stackoverflow.com/questions/1091756
复制相似问题