Ответ 1
Я предпочитаю второй вариант. Но более важно оставаться последовательным внутри конкретного приложения и/или в пределах определенной команды, чем отступ в том или ином виде.
Поскольку я писал еще один переключатель в Eclipse, я снова натолкнулся на довольно странное (по крайней мере, по крайней мере) значение по умолчанию, которое применяется к операторам switch:
switch (i) {
case 1:
...
case n:
...
}
Я предпочитаю другой способ:
switch (i) {
case 1:
...
case n:
...
}
Какой путь более читабельен и приятен для вас? Я все еще не стопроцентно определил, что лучше для меня, поэтому я хотел бы придерживаться того, что лучше всего для других людей, которые будут читать мой код.
Кстати, вы можете закрыть этот вопрос, если это слишком субъективно.:)
Я предпочитаю второй вариант. Но более важно оставаться последовательным внутри конкретного приложения и/или в пределах определенной команды, чем отступ в том или ином виде.
Я склоняю к тому, что все тела структур управления образуют единую вкладку (4space), например:
switch (i)
{
case 1:
...
case n:
...
}
Я считаю, что коммутатор является внешней структурой управления, а корпус управляет частью тела (даже если они являются частью структуры управления).
Затем я бы добавил вкладку indent в каждом случае следующим образом:
switch (i)
{
case 1:
do_something();
case n:
do_something_else();
}
Я считаю, что это самый читаемый формат для конструкции case switch.
Поскольку jkohlhepp упомянул о соответствии стандартам стиля кода проекта, над которым вы работаете, это самое главное, если вы работаете над проектом, который его не имеет, стоит разработать некоторые из них.
В соответствии с "официальными" соглашениями Java Code > , это первый вариант (без дополнительного отступа для случая).
Первый - это стандартный отступ ввода кода.
switch (i) {
case 1:
.... // Here you can write more code in a row than using the second way
break;
case n:
....
break;
default:
....
break;
}
Обратите внимание на новую вставленную строку между переключателем (i) и регистром 1:
Если вы предпочитаете второй случай, то для согласованности вы также должны отступать от else
части инструкции if
:
if( test )
do_something( );
else
do_something_else( );
Большинство людей этого не делают, и соглашение заключается в том, чтобы поддерживать ветки на том же уровне, что и оператор, поэтому Java предпочитает первый, поскольку тест case case и ветки кода согласованы на уровне, чем if if/then/else construct.
Я тоже перевернулся между ними, но, наконец, закончил предпочитая первый:
switch (i) {
case 1:
...
case n:
...
}
Я использую второй способ:
switch (i) {
case 1:
...
case n:
...
}
Первый метод имеет логический смысл (для меня), однако я также предпочитаю второй метод. Я думаю, что большинство из нас обусловлено тем, что код внутри фигурных скобок будет отступать.