Подтвердить что ты не робот

Переменные соглашения об именах в Java?

В PHP мы (по крайней мере, хорошие программисты) всегда запускаем имена общих переменных с строчной буквой, но переменные класса/объекты с буквой в верхнем регистре, чтобы отличить их. Таким же образом мы запускаем общие имена файлов с строчной буквой, но файлы, содержащие классы с буквой верхнего регистра.

например:

<?php
$number=123;
$string="a string";
$colors_array=array('red','blue','red');
$Cat=New Cat();
?>

Являются ли соглашения одинаковыми в java, т.е. объекты, начинающиеся с верхнего регистра, а остальные с нижним регистром, или все начинается с нижнего регистра, как я читал в других местах?

4b9b3361

Ответ 1

Как правило, все переменные начинаются с нижнего регистра:

int count = 32;
double conversionFactor = 1.5d;

Некоторым людям нравится статические константы во всех случаях:

public static final double KILOGRAM_TO_POUND = 2.20462262;

Вещи становятся более раздражающими, когда вы имеете дело с акронимами, и нет реального стандарта о том, следует ли вам использовать:

HTMLHandler myHtmlHandler; 

или

HTMLHandler myHTMLHandler.

Теперь, в любом случае, обратите внимание, что имена классов (Object, String, HTMLHandler) всегда начинаются с заглавной буквы, но отдельные переменные объекта начинаются в нижнем регистре.

Ответ 2

Вы можете найти именование в Соглашения Java Code.

Краткое резюме:

  • Для классов используйте UpperCamelCase.
  • Для членов класса и локальных переменных используйте lowerCamelCase
  • Для пакетов используйте обратный URI, например. org.acme.project.subsystem
  • Для констант используйте ALL_CAPS.

Ответ 3

  • variablesAndMethodsLikeThis
  • ClassesLikeThis
  • CONSTANTS_LIKE_THIS

Ответ 4

Соглашение состоит в том, что имена классов начинаются с буквы верхнего регистра. Имена переменных - camelCase. Даже если переменная ссылается на объект, она все равно начинается с нижнего регистра.

Эта страница должна помочь.

Ответ 5

Что вы думаете об использовании методов camelCase для экземпляров и PascalCase для статического? Я думаю, что это может быть очень полезно, потому что не было никаких проблем при проверке того, какой метод статичен. Это мое предложение

Ответ 6

Соглашения действительно зависят от того, для какого места вы кодируете.

В общем, из того, что я видел, являются CamelCased (сначала с верхним регистром), методы начинаются с нижнего регистра, а переменные, которые я видел повсюду (некоторые CamelCased, некоторые camelCase с первой буквой ниже (EDIT: как упоминалось выше, это норма), некоторые даже с венгерской нотацией). Это зависит от вашего стиля и стиля, в котором работает проект, над которым вы работаете.

Ответ 7

Некоторые люди (кто не я) любят дифференцировать переменные метода из переменных экземпляра, префиксные переменные экземпляра "this". Это также устраняет проблему, возникающую при назначении параметра переменной экземпляра с таким же именем:

public ConstructorMethod(MyVar variable) {
    this.variable=variable;
}

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

Кроме того, некоторые люди используют шаблон именования для параметров. Это (снова) полезно, когда вы назначаете из конструктора переменную Instance:

public ConstructorMethod(MyVar pVariable) {
    variable=pVariable;
}

Обычно шаблон имеет значение pVariable или _variable. Я иногда использую это, потому что считаю его более понятным, чем это, но у него есть недостаток в том, чтобы сделать ваши Javadocs менее удобочитаемыми.

В любом случае мне не очень нравится идея ВСЕГДА использовать любой из этих шаблонов, они замечательны, но если вам действительно нужна помощь, дифференцируя их по всему вашему коду, скажите Eclipse, чтобы показать их в разных цветах.