Какое хорошее правило для именования методов, которые возвращают свойства / атрибуты / члены объекта? Если объект имеет некоторое неизменное качество "blarg", должен ли метод, который возвращает это качество, называться "blarg ()" или "getBlarg ()"? Например, API Java несовместим: доступ к большинству свойств осуществляется через методы «get» (даже те, которые не имеют соответствующих методов «set»), но у нас также есть такие вещи, как Object.hashCode () вместо Object. GetHashCode ().
Обновление: должно ли здесь быть определителем, является ли это свойство полем (в реализации)? А как насчет класса для представления неизменяемых точек в двумерном пространстве? Независимо от того, хранится ли точка как (x, y) или (r, theta), мне все равно нужны средства доступа для всех четырех свойств. Должны ли они быть getX (), getY () и т. Д. Или просто x (), y () и т. Д.? С точки зрения пользователя, не должны ли все четыре иметь одинаковое соглашение об именах, поскольку мы не хотим, чтобы наш пользователь знал / заботился о нашей реализации?