【发布时间】:2018-08-15 23:57:57
【问题描述】:
所以我一直在搜索,但在 Google 或 PEP 上找不到任何讨论此问题的内容。
我正在用tkinter 做一个项目,我有一个文件,它是项目的一部分,只有 200 行代码(不包括所有注释掉的代码)。虽然整个文件与项目的 GUI 部分相关,但我觉得它有点长而且有点宽泛。
我最终将文件拆分为 4 个不同的文件,每个文件都有自己的 GUI 部分。
基本上,目录如下所示:
project/
guiclasses/
statisticsframe.py
textframes.py
windowclass.py
main_gui.py
...
statisticsframe 有一个框架类,用于显示有关事物的统计信息。textframes 有 3 类框架保存文本区域,其中一个继承 Frame,其他继承第一个。
@987654325 @ 基本上创建了窗口的根目录和 tkinter GUI 的所有常规初始化。main_gui 实际上不是名称,但它只是结合了以上所有三个并运行 mainloop()
总的来说,每个文件现在有 40-60 行代码。
我想知道是否有任何关于此的约定。大多数语言的经验法则是,如果您可以在其他地方重用函数/类,那么您应该拆分,尽管在 Python 中这不是问题,因为您可以从模块中导入特定的类和函数。
抱歉,如果不够连贯,这里快凌晨 3 点了,它只是在我的脑后。
【问题讨论】:
-
这是无法严格定义的事情之一。你必须使用你的直觉(这意味着,你越有经验,你做出的决定就越好),因为它实际上取决于更多的事情,而不是用言语表达的。无论如何,我不会说行数很重要,除非它真的很极端(我不会做很多文件,每个文件只有 3 行,我也不喜欢很多文件有数千行代码)。
-
无论如何,这主要是一个基于意见的问题,因此我会说关于 SO。
-
PEP 中定义了很多东西,这些东西通常可以被视为偏好或意见,例如行长或括号之间的空格以及其中的内容。另外,公平地说,我问是否有任何关于此的约定(即使不是 Python 官方的),而不是人们喜欢什么。
-
当然,一旦它们被定义,例如在 PEP-8 中,它们不再是基于意见的 ;) 而你所问的问题并没有在 PEP 中定义,所以你能得到的最好的答案是它没有定义,或者许多基于用户意见的相互矛盾的答案- 这就是为什么这些问题是题外话;)
标签: python python-3.x conventions