В Java и аналогичных языках, которые не имеют встроенной концепции свойств, принято делать поля закрытыми и доступными для внешнего объекта только с помощью методов получения. Соглашение об именовании JavaBeans предлагает использовать имя get X()
для метода получения поля x
(большую часть времени) , вот так:
public class User{ private Name name; public Name getName(){ return name; } ... }
Я не задавался этим вопросом, когда начинал программировать. Потом я услышал о нескольких людях, таких как Мартин Фаулер, которым было наплевать на эту конвенцию. Они пишут name()
для примера вместо геттера.
Выглядит намного лучше, поэтому я начал его перенимать. Затем я столкнулся с проблемами с библиотеками, которые ожидают соглашения о Beans. Еще одно преимущество классов, придерживающихся соглашения Beans: в IDE вы можете легко узнать все свойства библиотечного класса, если просто наберете первые три буквы: get
.
Итак, если вы используете методы получения, какое соглашение об именовании вы используете?
Оригинал: “https://dev.to/bertilmuth/getter-naming-conventions-565”