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

Операторы Switch: нужен ли вам последний перерыв? (Главным образом Javascript)

При использовании оператора switch() вы добавляете break; между отдельными объявлениями case:. Но как насчет last?

Обычно я просто оставляю его, но мне интересно, имеет ли это значение производительности, о котором я не думаю?

Мне было интересно об этом некоторое время и не вижу, чтобы это спрашивали в другом месте на Stack-O, но извините, если я пропустил это.

В основном я задаю этот вопрос относительно Javascript, хотя я предполагаю, что ответ будет применяться ко всем операторам switch().

4b9b3361

Ответ 1

Производительность не должна рассматриваться вообще. Даже если на каком-либо языке или в реализации есть разница в производительности, измеряемая в микро-контроле, это никогда не вызовет проблемы с реальной реальностью.

Я думаю, что наиболее важной проблемой является согласованность и ремонтопригодность. Если вы оставите последний break, а затем другой разработчик добавит другой оператор case, не понимая, что вы остановились на break, поведение изменится. Действительно, недостаток второго разработчика в том, что он не замечает break, отсутствует, но его можно было бы избежать, будучи согласованным и имеющим break во всех предложениях case.

Ответ 2

Это совершенно необязательно с точки зрения производительности, но очень хорошая привычка поддерживать, поскольку вы можете забыть добавить разрыв, когда вводите больше случаев. Очевидно, это не относится к default.