Вопросы с тегом «switch-statement»

88
Разбить случай по умолчанию в коммутаторе

Я немного озадачен тем, когда включаю или не включаю breakпосле последнего случая, часто default. switch (type) { case 'product': // Do behavior break; default: // Do default behavior break; // Is it considered to be needed? } breakв моем понимании единственная цель - остановить выполнение кода...

59
Зачем использовать ОО-подход вместо гигантского «переключателя»?

Я работаю в .Net, C # shop, и у меня есть коллега, который настаивает на том, чтобы мы использовали гигантские операторы Switch в нашем коде с большим количеством «падежей», а не с более объектно-ориентированными подходами. Его аргумент последовательно восходит к тому факту, что оператор Switch...

47
Избегать "goto" вуду?

У меня есть switchструктура, которая должна обрабатывать несколько случаев. switchРаботает над enumкоторой ставит вопрос о дублировании кода через объединенные значения: // All possible combinations of One - Eight. public enum ExampleEnum { One, Two, TwoOne, Three, ThreeOne, ThreeTwo, ThreeOneTwo,...

41
Нужно ли добавлять регистр по умолчанию при использовании коммутаторов?

Во время недавнего обзора кода меня попросили поместить defaultдела во все файлы, где бы ни использовался switchблок, даже если нечего делать default. Это означает, что я должен положить defaultдело и ничего не писать в нем. Это правильная вещь? Какой цели это будет...

36
Должен ли я использовать операторы switch или длинные цепочки if… else?

Часто, когда я слышу об операторе switch, его откладывают как способ заменить длинные цепочки if ... else. Но, похоже, что когда я использую оператор switch, я пишу больше кода, который я бы просто написал, если ... еще. У вас также есть другие проблемы, такие как хранение всех переменных для всех...

34
Почему Clang / LLVM предупреждает меня об использовании default в операторе switch, где охватываются все перечисленные случаи?

Рассмотрим следующий оператор enum и switch: typedef enum { MaskValueUno, MaskValueDos } testingMask; void myFunction(testingMask theMask) { switch (theMask) { case MaskValueUno: {}// deal with it case MaskValueDos: {}// deal with it default: {} //deal with an unexpected or uninitialized value } };...

28
Рефакторинг операторов Switch и есть ли реальное использование для операторов Switch вообще?

Я читал эту статью, и мне было интересно, избавимся ли мы от всех операторов switch, заменив их словарем или фабрикой, чтобы в моих проектах вообще не было операторов switch. Что-то не совсем складывалось. Вопрос в том, имеют ли операторы switch какое-либо реальное применение, или мы идем дальше и...

24
Несколько аргументов в вызове функции против одного массива

У меня есть функция, которая принимает набор параметров, а затем применяет их как условия к SQL-запросу. Однако, пока я предпочитаю массив с одним аргументом, содержащий сами условия: function searchQuery($params = array()) { foreach($params as $param => $value) { switch ($param) { case 'name':...

21
Карта функций против оператора switch

Я работаю над проектом, который обрабатывает запросы, и в запросе есть два компонента: команда и параметры. Обработчик для каждой команды очень прост (<10 строк, часто <5). Существует не менее 20 команд, и, скорее всего, их будет более 50. Я придумал пару решений: один большой переключатель /...

19
В чем преимущество включения строк в Java 7?

Когда я начинал программировать на Java, тот факт, что операторы switch не принимают строки, расстраивал меня. Затем, используя Enums, я понял преимущества, которые вы получаете с ними, вместо того, чтобы передавать необработанные значения - безопасность типов (что упрощает рефакторинг), а также...

17
Почему языки не используют явный провал в выражениях switch?

Я читал, почему мы должны использовать breakв switch? и это заставило меня задуматься, почему неявный переход разрешен в некоторых языках (таких как PHP и JavaScript), в то время как нет поддержки (AFAIK) для явного перехода. Это не continueзначит, что нужно было бы создать новое ключевое слово,...

12
Переключение против полиморфизма при работе с моделью и представлением

Я не могу найти лучшее решение моей проблемы. У меня есть контроллер представления, который представляет список элементов. Эти элементы являются моделями, которые могут быть экземплярами B, C, D и т. Д. И наследоваться от A. Таким образом, в этом контроллере представления каждый элемент должен...

11
Реализация состояния объекта на ОО языке?

Мне дали посмотреть на Java-код, который имитирует гонку автомобиля, включая реализацию базового автомата. Это не классическая машина состояний компьютерных наук, а просто объект, который может иметь несколько состояний и может переключаться между его состояниями на основе серии вычислений. Чтобы...

9
Как уменьшить переключатель в операторе switch?

Поэтому я делаю метод для создания линии приветствия на основе двух человек из базы данных. Существует четыре параметра: два имени ( name1и name2) и два пола ( genderи gender2). Для каждой гендерной комбинации у меня есть разные результаты. Например: если пол 1 M(мужчина) и пол 2 также M, результат...