【问题标题】:Pythonic way to order functions within a module在模块中排序函数的 Pythonic 方式
【发布时间】:2015-09-27 21:37:13
【问题描述】:

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

字母顺序对我来说似乎很有意义,但我想看看是否还有其他关于如何在模块中排序的思想流派。也许尝试近似代码流或其他方法?

我对此进行了一些搜索,并没有真正找到任何东西,除了需要在调用它们之前定义的函数,这与我的问题并不真正相关。

感谢人们提供的任何想法!

【问题讨论】:

  • 就我个人而言,我按功能和相互关系对它们进行分组,以避免像疯子一样滚动。课程也是如此。如果你有一个简单的parithetic函数列表,可能在一个库模块中,是的,原则上你可以按字母顺序排列它们(不知道是否有关于这个的PEP)
  • 没有真正同意的方式。顶部的私有/辅助功能,就是这样。理想情况下,您的模块应该足够小/短,以至于函数的顺序并不重要。如果你的文件有太多的函数/行以至于它们的顺序会影响你,那么模块可能负责太多。

标签: python function module


【解决方案1】:

代码应该易于人类阅读; 可读性很重要(来自The Zen of Python)。

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

我的建议是按照对这个特定模块有意义的顺序从模块的主要部分开始。辅助函数和类以自上而下的方式低于它。

现代编辑器非常有能力在代码中找到函数或方法定义,因此顶层下的精确顺序不再像以前那么重要了。

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

【讨论】:

  • 还应该打包较大的项目。不要为了方便而将所有模块打包到一个目录中。
猜你喜欢
  • 1970-01-01
  • 2010-12-20
  • 1970-01-01
  • 1970-01-01
  • 2020-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多