Раздражает ли это кого-нибудь еще там? Я бы предпочел увидеть:
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" не были разбросаны повсюду? Подумайте, сколько еще кода мы могли бы напечатать, если бы нам не приходилось набирать эти три буквы снова и снова ?! (язык немного в щеке)
Кто-нибудь чувствует себя так же?