推荐单个文件中有多个Python类?

Possible Duplicate:
07000

从C背景来看,我已经习惯于组织我的课程,因此在大多数情况下,类和文件之间的比例是1:1。通过使它使单个文件包含单个类,我发现代码更可导航。当我向Python介绍自己时,我发现很多示例,其中单个文件包含多个类。这是在Python中做推荐的做法吗?如果是,为什么?

我在PEP8失踪了这个惯例吗?

以下是一些可能的原因:

> Python不是唯一的基于类的 – Python中代码分解的自然单位是模块。模块同样可能包含函数(它们是Python中的第一类对象)作为类。在Java中,分解的单位是类。因此,Python有一个模块=一个文件,Java有一个(public)类=一个文件。
Python更加表达Java,如果你限制每个文件的一个类(Python不会阻止你执行),你将会得到很多非常小的文件 – 更多的是跟踪很少的好处。

大致相当的功能的例子:Java的log4j =>几十个文件,〜8000个SLOC。 Python logging => 3档,〜2800 SLOC。

http://stackoverflow.com/questions/1091756/are-multiple-python-classes-in-a-single-file-recommended

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:推荐单个文件中有多个Python类?