用“包装的逻辑单位”来思考-可能是单个类,但更经常的是一组紧密协作的类。可以根据此标准对类(或模块级函数-
当也可以选择模块级函数时,不要始终使用静态方法来“在Python中使用Java!”)。基本上,如果A的大多数用户也需要B,反之亦然,则A和B可能应该在同一个模块中。但是,如果许多用户只需要一个,而另一个则不需要,则它们可能应该位于不同的模块中(也许在同一个程序包中,即,其中包含
__init__.py文件的目录)。
标准的Python库虽然远非完美,但往往会(大部分)反映出合理的良好做法-
因此您可以通过示例从中学到很多。例如,
threading模块当然定义了一个
Thread类…但是它还包含同步原语类,例如锁,事件,条件和信号量,以及可以通过线程 *** 作引发的异常类(还有其他一些东西)
)。它处于合理大小的上限(800行,包括空格和文档字符串),并且一些与线程相关的重要功能(例如Queue)已放置在单独的模块中,尽管这是一个最大的功能意义仍然很好的很好的例子打包成一个模块。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)