这会激怒其他人吗?我更愿意看到:
block.key(newKey); // set the key for this block
和
testKey = block.key(); // look up the key for this block
比
block.setKey(newKey); // set the key for this block
testKey = block.getKey(); // look up the key for this block
首先,“set”和“get”是多余的(因此增加了噪音,降低了可读性)。操作 (set/get) 由每个语句的语法定义。我理解超载。事实上,使用相同的确切标识符强化了这些是对象的相同属性。当我阅读“getKey()”和“setKey()”时,我可能不太确定。
其次,如果“get”和“set”被严格解释为setter和getter,那么如果与设置/获取值相关的其他语义,例如副作用,将是令人惊讶的。
我想这种偏见来自我的 Smalltalk 背景,但是在一个多态性工作得很好的世界里,如果没有“get”和“set”到处都是,我们不是会更好吗?试想一下,如果我们不必一遍又一遍地输入这三个字母,我们还能输入多少代码?!(舌头有点靠近脸颊)
有没有人有同感?