Объявление объявления одной строки Java?

В моем классе Java я объявляю переменную вроде этого

BigDecimal sumFeeBilled = new BigDecimal(0), sumPaid = new BigDecimal(0); 

Или мы должны объявить это в несколько строк

BigDecimal sumFeeBilled = new BigDecimal(0);
BigDecimal  sumPaid = new BigDecimal(0);

Какую из них следует придерживаться?

Ответ 1

Это просто вопрос вкуса и предпочтения. Однако, если вы не зададите рекомендации, он станет очагом бесконечных дискуссий/аргументов в большинстве команд разработчиков вместе с Vim vs Emacs или IntelliJ vs Eclipse.

Я бы рекомендовал установить стандарты кодирования для вашей команды, и самый простой способ сделать это - ссылаться на уже существующие, такие как Sun (теперь Oracle) Java Guidelines, которые в этом случае предлагают использовать одно объявление в строке.

Вот что говорит окончательное руководство по поводу деклараций [1]:

6.1 Число в строке

Рекомендуется одно объявление в строке, поскольку оно поощряет комментирование. Другими словами,

int level; // indentation level
int size;  // size of table

предпочтительнее

int level, size;

Не помещайте разные типы в одну строку. Пример:

int foo,  fooarray[]; //WRONG!

[1] http://www.oracle.com/technetwork/java/javase/documentation/codeconventions-141270.html#2991

Ответ 2

Чем меньше вещей происходит на одной линии, тем лучше. Если вы выберете второй вариант, код будет легче отлаживать (вы можете поместить точку останова на строку, где вторая инициализация происходит, например, пропуская первую) и легче читать (IMHO). Единственное, что вам стоит, это одна строка. Я думаю, что это того стоит.

Ответ 3

Это ваш выбор, но я часто использую второй при использовании локальных переменных, а для глобалов я использую следующее, чтобы уменьшить беспорядок:

public static final String CONSTANT_A = "constant a",
                           CONSTANT_B = "constant b",
                           CONSTANT_C = "constant c";

вместо

public static final String CONSTANT_A = "constant a";
public static final String CONSTANT_B = "constant b";
public static final String CONSTANT_C = "constant c";

В этом примере это не так уж важно, но представьте, что у вас есть 40 + константы и скажите, какой из вас предпочитает...

Ответ 4

Второй вариант более читабельный. Подумайте о людях, которые прочитают ваш код

Ответ 5

Лучшие практики Java определяют "одно объявление в строке".

Ответ 6

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

1. Variables of different types
2. A mixture of initialized and uninitialized variables

Кроме того, вы можете объявить несколько переменных и назначить несколько переменных, но не оба одновременно