【问题标题】:Ordering methods within a class [closed]类中的排序方法[关闭]
【发布时间】:2015-05-30 08:58:51
【问题描述】:

什么更好?先调用方法,再定义:

class Class(object):
    def foo(self):
        # do something
        self.bar()

    def bar(self):
        # do something else

或者先定义方法,然后再调用:

class Class(object):
    def bar(self):
        # do something else

    def foo(self):
        # do something
        self.bar()

我知道结果是一样的。但是哪个版本更容易阅读?

【问题讨论】:

  • 没关系; bar 直到类被定义后才会被调用。但是,订购您的方法对您最有意义。比如我一般把__init__放在类的顶部,即使它调用了后面出现的其他方法。
  • 优选的是先定义方法,稍后调用
  • @ZdaR Clean Code 建议编写代码以从上到下读取,因此更高的函数委托给其他更向下定义的函数。

标签: python coding-style


【解决方案1】:

无论如何,您并不总是能够选择(因为相互递归)。您应该按照对类定义最有意义的顺序排列方法,即忽略其中的代码。

【讨论】:

    【解决方案2】:

    传统建议将构造函数放在首位。然后将调用的方法放在首位是有用的(但不是必需的),这样当您阅读代码时,您就知道可以找到上面调用方法的定义。

    【讨论】:

      猜你喜欢
      • 2016-09-21
      • 2012-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多