2015-09-27 35 views
0

我已经完全从编写脚本编写模块毕业。现在我有一个充满功能的模块,我不太确定是否应该以某种方式订购它们。在模块中订购功能的Python方法

字母顺序似乎对我有意义,但我想看看是否有其他学校应该如何在模块中订购。也许尝试近似代码流或其他方法?

我做了一些搜索,没有找到任何东西,除了在调用它之前需要定义这些函数,这与我的问题没有什么关系。

感谢您提供任何想法!

+0

就我个人而言,我将它们按照功能和彼此的关系进行分组,以避免像疯子一样滚动。类也是一样。如果你有一个平坦的功能列表,也许在一个图书馆模块中,是的,你原则上可以按字母顺序排列它们(不知道是否有关于此的PEP) – Pynchia

+0

没有真正商定的方式。顶部的私人/帮手功能,就是这样。理想情况下,你的模块应该足够小/足够短,这样函数的排序并不重要。如果你的文件有太多的函数/行,以至于它们的顺序会影响你,那么这个模块可能会负责太多。 – dursk

回答

1

应该使代码易于被人读取; 可读性计数(来自The Python of Python)。

坚持PEP-8的惯例,除非你有充分的理由不这样做。

我的建议是从模块的主要部分开始,按照对此特定模块有意义的顺序。助手功能和类别在自顶向下时尚以下。

现代编辑器非常能够在代码中查找函数或方法定义,所以在顶层级别下的精确序列并不像以前那么重要。

如果您的编辑器支持它,请考虑使用折叠。

+0

还应该包装更大的项目。为了方便起见,不要只将所有模块打包到一个目录中。 –