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

Каков предпочтительный способ отступов в коммутаторе?

Поскольку я писал еще один переключатель в Eclipse, я снова натолкнулся на довольно странное (по крайней мере, по крайней мере) значение по умолчанию, которое применяется к операторам switch:

switch (i) {
case 1:
    ...
case n:
    ...
}

Я предпочитаю другой способ:

switch (i) {
    case 1:
        ...
    case n:
        ...
}

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

Кстати, вы можете закрыть этот вопрос, если это слишком субъективно.:)

4b9b3361

Ответ 1

Я предпочитаю второй вариант. Но более важно оставаться последовательным внутри конкретного приложения и/или в пределах определенной команды, чем отступ в том или ином виде.

Ответ 2

Я склоняю к тому, что все тела структур управления образуют единую вкладку (4space), например:

switch (i) 
{
    case 1:
        ...
    case n:
        ...
}

Я считаю, что коммутатор является внешней структурой управления, а корпус управляет частью тела (даже если они являются частью структуры управления).

Затем я бы добавил вкладку indent в каждом случае следующим образом:

switch (i) 
{
    case 1:
        do_something();
    case n:
        do_something_else();
}

Я считаю, что это самый читаемый формат для конструкции case switch.

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

Ответ 4

Первый - это стандартный отступ ввода кода.

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:

Ответ 5

Если вы предпочитаете второй случай, то для согласованности вы также должны отступать от else части инструкции if:

if( test )
    do_something( );
    else
        do_something_else( );

Большинство людей этого не делают, и соглашение заключается в том, чтобы поддерживать ветки на том же уровне, что и оператор, поэтому Java предпочитает первый, поскольку тест case case и ветки кода согласованы на уровне, чем if if/then/else construct.

Я тоже перевернулся между ними, но, наконец, закончил предпочитая первый:

switch (i) {
case 1:
    ...
case n:
    ...
}

Ответ 6

Я использую второй способ:

switch (i) {
    case 1:
        ...
    case n:
        ...
}

Ответ 7

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