所以我有这个课程Counter
和一个名为increment
Object subclass: #Counter
instanceVariableNames: 'count'
classVariableNames: ''
poolDictionaries: ''
category: 'Pharo-MOOC'
那么在Smalltalk / Squeak / Pharo中哪个是惯用的还是更好?
increment
"add 1 to the instance variable (count)"
self count: self count + 1.
或
increment
"add 1 to the instance variable (count)"
count := count + 1.
当然,为什么?
答案 0 :(得分:3)
如果我没记错的话,Kent Beck在他的“Smalltalk Best Practice Patterns”一书中推荐了第一种方法。但是,任何模式,都不是一成不变的规则。但是,一般来说,你应该避免创建setter ......
在我的情况下,我经常采用第一种方法,但我将我的二传手放入私人协议:)