Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.02.2018, 13:12
Аватар для Sigizmund2012
Профессор
Отправить личное сообщение для Sigizmund2012 Посмотреть профиль Найти все сообщения от Sigizmund2012
 
Регистрация: 16.07.2014
Сообщений: 267

Множество условий в скрипте.
Здравствуйте. Пишу скрипт, в котором реально много условий. Делать 100500 if или городить монструозные switch-и уже сил нет, масштабируется это всё отвратительно. Может есть какой-то паттерн или библиотека, о которых я не знаю, позволяющие упростить задачу? Пилю на webpack + Babel, так что современный js welcome.
Ответить с цитированием
  #2 (permalink)  
Старый 02.02.2018, 13:30
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,012

тут зависит от того, какие условия.
можно так:
var actionsMap = {
  action1: function() { ... },
  action2: function() { ... },
  ...
};

var actionName = '...';

actionsMap[actionName](); // вместо switch по разным значениям actionName


для более общего случая можно массив:
var actionsArr = [
  {
    test: function() { ... },
    action: function() { ... }
  },
  ...
];
пробегаем по нему в цикле, для каждого пункта, где выполняется test, вызываем action


такие структуры удобно поддерживать, изменять, пополнять
Ответить с цитированием
  #3 (permalink)  
Старый 02.02.2018, 13:51
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,213

Сообщение от Sigizmund2012
Пишу скрипт, в котором реально много условий.
А каких именно мы можем только догадываться...

Ответить с цитированием
  #4 (permalink)  
Старый 02.02.2018, 16:25
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Sigizmund2012,
Сообщение от Sigizmund2012
в котором реально много условий
Такого не может быть - могут быть правила, которые поддаются нормальной алгоритмизации
Ответить с цитированием
  #5 (permalink)  
Старый 02.02.2018, 17:40
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

что за условия?
Ответить с цитированием
  #6 (permalink)  
Старый 02.02.2018, 18:44
Аватар для Sigizmund2012
Профессор
Отправить личное сообщение для Sigizmund2012 Посмотреть профиль Найти все сообщения от Sigizmund2012
 
Регистрация: 16.07.2014
Сообщений: 267

Сообщение от j0hnik
что за условия?
Обычные условные операторы, if-else, switch. Просто их много уже накопилось, скрипт стал большой и неповоротливый, неудобно дальше разрабатывать и поддерживать, надо его как-то причесать и упорядочить. Что мог, вынес в отдельные функции. Мне нужен общий совет, выкладывать свой говнокод сюда я не буду.
Ответить с цитированием
  #7 (permalink)  
Старый 02.02.2018, 21:59
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,584

Ну в зависимости от условий код же ветвится? Пускайте каждую ветвь отдельно, и будет норм.)
__________________
29375, 35
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Где проблема в скрипте? sergey24 Общие вопросы Javascript 9 07.04.2017 13:54
НЕ сколько условий if в одном скрипте ArsenInvoker Элементы интерфейса 13 11.03.2015 18:27
много повторяющихся условий Mick_20 Events/DOM/Window 8 28.10.2014 10:24
Переменные в скрипте vvkk Элементы интерфейса 19 08.09.2014 18:10
Ссылки в скрипте Cloud Zoom onuvidelsolnce Events/DOM/Window 1 25.04.2012 19:24