Операторы Switch: нужен ли вам последний перерыв? (Главным образом Javascript)
При использовании оператора switch()
вы добавляете break;
между отдельными объявлениями case:
. Но как насчет last?
Обычно я просто оставляю его, но мне интересно, имеет ли это значение производительности, о котором я не думаю?
Мне было интересно об этом некоторое время и не вижу, чтобы это спрашивали в другом месте на Stack-O, но извините, если я пропустил это.
В основном я задаю этот вопрос относительно Javascript, хотя я предполагаю, что ответ будет применяться ко всем операторам switch()
.
Ответы
Ответ 1
Производительность не должна рассматриваться вообще. Даже если на каком-либо языке или в реализации есть разница в производительности, измеряемая в микро-контроле, это никогда не вызовет проблемы с реальной реальностью.
Я думаю, что наиболее важной проблемой является согласованность и ремонтопригодность. Если вы оставите последний break
, а затем другой разработчик добавит другой оператор case, не понимая, что вы остановились на break
, поведение изменится. Действительно, недостаток второго разработчика в том, что он не замечает break
, отсутствует, но его можно было бы избежать, будучи согласованным и имеющим break
во всех предложениях case
.
Ответ 2
Это совершенно необязательно с точки зрения производительности, но очень хорошая привычка поддерживать, поскольку вы можете забыть добавить разрыв, когда вводите больше случаев. Очевидно, это не относится к default
.