Соглашение Javabean - именование методов для свойства gId

Если в моем классе Java есть свойство gId, как следует называть метод доступа?

getGId - это то, что я предполагаю.

Если бы было свойство gURL, я думаю, это было бы getGURL, которое выглядит некрасиво (хотя это не относится к альтернативному написанию слова girl).

Если бы свойство было просто url, имя метода getUrl было бы приятным для глаз, и да, я бы не назвал свойство URL-адресом в первую очередь, что сделало бы средство доступа снова уродливым - getURL

Я помню, как где-то читал из PDF-документа спецификации Javabean о заглавных буквах в свойствах, а также о случаях, связанных с акронимами, но больше не могу найти их в PDF.

У кого-нибудь есть ссылка на это или, пожалуйста, подтвердите, прав ли я в том, что говорю?


person ChrisOdney    schedule 20.06.2012    source источник


Ответы (2)


Интересующую вас ссылку можно найти в Спецификация Beans в разделе 8.8.

При этом он явно не охватывает ваш конкретный случай _1 _ / _ 2_. В спецификации сказано, что для предоставления геттера / сеттера мы просто пишем первую букву с заглавной буквы. Чтобы восстановить свойство из получателя / установщика, если первые две буквы в верхнем регистре, тогда все свойство остается как есть. В противном случае декапитализируем первую букву. Таким образом, ваш получатель станет getGURL, но ваше свойство будет неправильно восстановлено из получателя как GURL. У вас такая же проблема с gId.

Поэтому кажется, что спецификация не позволяет вам обеспечить согласованный перевод любого свойства с первым символом нижнего регистра, за которым следует символ верхнего регистра.

Я предлагаю либо использовать свойство полностью в нижнем регистре, либо расширить префикс нижнего регистра до двух букв (например, glURL).

person Luca Geretti    schedule 20.06.2012

Чтобы быть более конкретным (и, как сказано Лукой и здесь), в спецификации указано, что существует метод, который может сказать вам: java.beans. Introspector.decapitalize (String).

person lucasvc    schedule 06.11.2013