Я делаю много кода, читающего последние пару недель, и я начинаю думать, что я кодировал оператор switch (во всех c-подобных языках) неправильно. Переключатель и ключевые слова case выстроены в большинстве примеров, которые я вижу в дикой природе. Я всегда отступал от дел, которые мне помогли. Недостатком является то, что если у вас есть случай с условным выражением, фигурные скобки заканчиваются просмотром двух уровней отступов от внешнего переключателя; так что, возможно, НЕ отступая от случая, это правильно. Интересно посмотреть, что другие люди думают об этом стилевом вопросе.
Вот пример того, как я это делал (если мой вопрос должен быть более визуальным):
switch(keyCode) {
case TVKEY.KEY_EXIT:
// do something
case TVKEY.KEY_ENTER:
if(firstTest)) { // User chose to steal token
// do something
} else if(secondTest)) {
// other condition
} else {
// do else
}
break;
default:
// do default stuff
break;
}
Обратите внимание, что последний промежуточный кронштейн находится на двух уровнях от кронштейна закрывающего переключателя. Некорректное? Слишком суетливый?