J'ai souvent des fonctions qui prennent un paramètre, définissez une variable d'instance à ce paramètre, puis faire d'autres choses, par exemple:style de codage: utiliser un paramètre ou une variable d'instance?
def updateFoo(self, foo):
self.foo = foo
fooProcessor1(foo)
fooProcessor2(self.foo)
Préférez-vous passer le paramètre lui-même, comme dans fooProcessor1
, ou le nouveau -set variable d'instance, comme dans fooProcessor2
? Pourquoi ou pourquoi pas?
Je ne voulais pas dire que ce soit juste une fonction de setter, ces fonctions font d'autres choses aussi. a changé le nom de fonction – Claudiu
@Claudiu - pour des raisons de style, vous définissez 'self.foo', puis vous recalculez les choses en fonction de la nouvelle valeur de' self.foo'. Il peut s'agir de cheveux fractionnés, mais ce n'est pas tout à fait la même chose que de recalculer les valeurs basées sur le * paramètre * 'foo'. Pour cette raison, j'aime la solution de Michael ici, qui sépare les préoccupations. –
hmm ouais je vois ton point .. j'aime ça – Claudiu