这个问题的答案可能取决于确切的情况,但由于我无论如何都没有聪明的想法,我认为将其发布在这里会很好。
假设我们有一个类,如下面的部分。代码在Python中,但也可以在任何其他OO语言中使用。
class Dashboard():
def __init__(self, length_dashboard):
self.length = length_dashboard
# create dashboard with month codes
def create_dashboard(self):
db = ['']*self.length
db[0] = foo()
for item in range(1, self.length-1):
db[item] = bar(item-1)
return db
这是一种很好的编码风格吗?或者在实例的一个变量中锁定返回值是否更好?:
class Dashboard():
def __init__(self, length_dashboard):
self.length = length_dashboard
self.db
# create dashboard with month codes
def create_dashboard(self):
self.db = ['']*self.length
self.db[0] = foo()
for item in range(1, self.length-1):
self.db[item] = bar(item-1)
return self.db
答案 0 :(得分:0)
我想这个问题真的只是问,我应该让db
成为一个类变量吗?
在这个具体案例中,我认为你应该这样做。您的类名为Dashboard
,因此它可能代表某种仪表板。存储仪表板在对象内部显示的数据(对象状态的一部分)是否有意义,对吗?
此外,我认为您应该在create_dashboard
中致电__init__
,因为当您初始化Dashboard
时,您会希望它会填充一些默认数据,对吗?
如果db
不是类变量,那么您的类名称将为“DashboardCreator
”,因为它只是创建可以显示特定大小数据的仪表板。