Есть задача, которая требует ветвления кода, я использовал машинное состояние switch case
и enum
.
Интересует какие еще есть хорошие варианты ветвления - например в моей задаче получилось 9 состояний. И можно ли такие вещи эффективно решать с помощью if else
, или данный цикл подходит только для узких случаев.
Дать совершенно однозначный ответ невозможно - всегда есть масса факторов, учесть которые невозможно - вплоть до вкусовых предпочтений автора или стиля кодирования, принятого в этой команде.
switch
- если он применим - пожалуй, будет поэффективнее, но опять же, если у него 50 case
, то встает вопрос - не выбрать ли действительно map
или иную структуру (скажем, если эти 50 значений - от 0 до 49, то так и просится массив/вектор) для выбора действия по значению.
Но могут быть ситуации, когда switch
просто невозможно применить - простейший пример - для строк.
Но, откровенно говоря, при таком сильном ветвлении я бы задумался над вопросом - а правильно ли я спроектировал? нельзя ли обойтись без такого сильного ветвления вовсе?
Виртуальный выделенный сервер (VDS) становится отличным выбором
Не могли бы вы мне подсказать как написать код для умножения двух двоичных чисел? Нужно именно их умножить, поэтому через перевод в 10 сс не получится
У меня есть класс "Матрица"И в нём нужно перегрузить оператор [] так, дабы при обращении [][] к элементам имело смысл, аналогично встроенному
Каким образом настроить компиляцию на удаленной машине java-приложения ? В netbeans все достаточно просто и работает безотказно, а вот в intellij idea никак...