我经常有函数接受参数,将实例变量设置为该参数,然后执行其他操作,例如:
def updateFoo(self, foo):
self.foo = foo
fooProcessor1(foo)
fooProcessor2(self.foo)
您是否更喜欢传递参数本身,如fooProcessor1
或新设置的实例变量,如fooProcessor2
?为什么或为什么不呢?
答案 0 :(得分:2)
编码员应该是懒惰的。自。在凌晨1点输入太多了。
答案 1 :(得分:2)
一个名为setFoo()
的函数除了设置foo
之外不应该做任何事情,除非它正在计算和缓存从foo派生的值,在这种情况下我会建议以下内容:< / p>
def setFoo(self, foo):
self.foo = foo
self.__fooUpdated()
def __fooUpdated(self):
# Recompute values derived from foo, dispatch signal to listeners, etc.
在您建议的选项中,我更喜欢fooProcessor1(foo)
。也就是说,这主要取决于个人偏好。只要你保持一致,我认为这并不重要。