не должно быть по принципу tell, don't ask.
Но вот, например, охранник хочет увидеть твой пропуск, ты должен показать. Кажется, что вот он гетер. Однако, вместо String getAccessCard(), лучше сделать String showAccessCard(), на худой конец просто accessCard().
Почему это важно? Такое мышление и именование помогает оставлять гетеры только там, где это действительно необходимо по смыслу.
А вообще это все эзотерика, конечно, никто от и до таких правил не придерживается, но, если стараться, то код получается меньше и читабильнее (не в смысле, как императивщики говорят, мол, вот я смотрю на портянку в 2к строк и мне все понятно, сразу все вижу, нахер ваш ооп, а в смысле того, что каждая сущность маленькая, у нее single responsibility, поэтому ей легко дать говорящее имя и при чтении легко понять, что она делает, а самое главное легко запомнить и понять архитектуру, когда все маленькое, ответственности не дублируются и у сущностей только по одной ответственности. Но, ещё раз, такого почти не бывает.
Мне нравится, например, код aeron в этом плане, рекомендую.
Я это, новенький тут и просто интересуюсь (не срача ради): а чем accessCard() лучше getAccessCard()? get - глагол, явное действие, к тому же автодополнение с get покажет все, что можно получить. showAccessCard() - имхо, неудобно, когда карту, например, нужно отдать, а не показать - делать еще метод giveAccessCard?
ты случаем не с Егором Бугаенко работаешь?
Обсуждают сегодня