使用实例方法在大型python类中组织代码是不好的

时间:2015-07-18 00:26:58

标签: python tkinter organization

下面我有一个dummie代码,其中实例方法主要用于代码组织。 init 函数按特定顺序设置了对各种实例方法的一系列调用,我只是觉得以这种方式组织代码是不好的做法。

如果有的话,是否有任何关于组织大型类(例如GUI应用程序中的类)的参考资料以提高其可读性?

Dummie代码:

df.to_excel(merge_cells=False)

这些函数只会在调用类时执行一次,这是否表明它们不应该是函数(或实例方法)?

一个工作示例,我选择了这种可能不好的组织方法

下面,class App: def __init__(self): def do_things() def do_things(self): self.do_a_thing() self.do_another_thing() def do_a_thing(self): self.thing1 = 1 def do_another_thing(self): self.thing2 = self.thing1 + 1 方法类似于fill(),例如do_things()init_scroll()类似于init_lb()do_a_thing()等。

do_another_thing()

为了调试,我试图将类似的方法组合在一起(我从中提取的代码是300行的类),但我不太了解接受的样式指南。

此外,完整的申请已发布here

1 个答案:

答案 0 :(得分:2)

您是否担心开发人员可能会do_thing独立于do_things?虽然Python不支持私有方法,但您可以通过使用前导下划线约定来指示do_thing应被视为私有:

def _do_thing(self):
    ...

这告诉开发人员不要直接致电_do_thing

通常,将大型方法或功能分解为更小,更易于管理的方法是一个非常好的主意。这在单元测试代码时尤其重要。