В моем классе фрагментов есть большой оператор switch. В каждом случае вызываются другие функции, которые, например, загружают изображение и отображают его или раздувают макет и отображают его. Это плохая практика? Я читал, что оператор switch можно отредактировать, чтобы получить чистый код, но как я могу очистить этот код, если я вызываю разные функции для каждого случая?
Пример кода
switch(message.type){
case type.IMAGE:
downloadAndDisplayImage(); //Download Image and display It in a imageview
break;
case type.MAP:
inflateAndDisplayMap(); //inflate and display a MapView inside a layout
break;
И так далее..
Это, вероятно, было бы лучше в Code Review с образцом кода.
Ваш оператор switch в порядке. Это чистый код. Оставьте как есть и не волнуйтесь.




Запах корпуса выключателя хорошо известен. Если вы хотите иметь «чистый» код, вам может помочь шаблон состояния или следующая ссылка.
Способы устранения переключения в коде
В конце концов, для кого это чистый код?
Не уверен, что могу использовать полиморфизм в этом случае, я просто вызываю функции, которые в основном что-то загружают и отображают в каком-то виде It, как в примере кода
Операторы переключения - это не более запах кода, чем любая другая функция. Иногда это лучший ответ, иногда нет. Добавление дюжины вспомогательных очищающих средств для разных случаев, когда нет другой веской причины для того, чтобы иметь один, - это запах. У нас недостаточно информации, чтобы сказать правильный ответ.
@GabeSechan Я согласен. Если есть только один программист, то я думаю, что все, что он делает, является стандартом.
Не знаю, нужно ли его реорганизовать. Нужно увидеть код.