В проекте, над которым я работаю, мы обсуждаем, когда использовать get (getFoo
) по сравнению с обычным именем (foo
) в java. Когда я оглядываюсь в явном ядре и guava, я вижу, что есть много примеров, где get опущен. Есть ли какой-либо документ, который охватывает, когда guava или новые API-интерфейсы java будут использовать префикс get, а когда это не так? Существует ли конвенция, которую эти разработчики используют здесь?Соглашение Java/Guava для использования префикса 'get'?
Спасибо, что нашли время, чтобы прочитать это.
Примеры:
ByteBuffer: http://docs.oracle.com/javase/7/docs/api/java/nio/ByteBuffer.html#compact() ForwardingObject: http://docs.guava-libraries.googlecode.com/git-history/release/javadoc/com/google/common/collect/ForwardingObject.html#delegate() Секундомер: http://docs.guava-libraries.googlecode.com/git-history/release/javadoc/com/google/common/base/Stopwatch.html#elapsed(java.util.concurrent.TimeUnit) Код: http://docs.guava-libraries.googlecode.com/git-history/release/javadoc/com/google/common/base/Ticker.html#systemTicker()
РЕДАКТИРОВАТЬ:
По http://download.oracle.com/otn-pub/jcp/7224-javabeans-1.01-fr-spec-oth-JSpec/beans.101.pdf, «Java, Бин является многоразовым программный компонент, который может визуализироваться визуально в инструменте строителя. " В нашей базе кода проблема get vs no get возникает, когда код не имеет ничего общего с объектами ценности или данных (объекты, которые представляют данные). Когда класс представляет данные, мы отлично работаем.
Мой главный вопрос: почему и Java, и Guava предпочитают использовать методы non get для объектов без данных и каковы их соглашения.
Как ни странно, [документ в стиле Java] (https://google-styleguide.googlecode.com/svn/trunk/javaguide.html#s2.3.1-whitespace-characters), похоже, охватывает все, кроме геттеров и сеттеров , – maaartinus
придерживаться соглашения об именах javabeans. Каждый проект Java с открытым исходным кодом ожидает, что вы будете подчиняться этому соглашению. – DwB
Почему compact должен быть getCompact? –