выглядит такое себе
Можно что нибудь поконкретней ?
Что бы красивее было, на каждой четвертой строке отступ сделай, а то выглядит так себе. Типо больше 4 строк под ряд пробуй не писать
И вот как ты написал всю логику в одной функции, как ты планируешь расширять возможности? Попробуй вынести каждую часть кода в отдельные функции, так понятнее и функции можно переиспользовать/расширять
Поставь линтер. Он должен научить разбивать длинные строки на несколько и ставить ; Вынеси логику из контроллера. Контроллер в данном случае может получить параметры, провалидировать их, и вызвать сервис с нужными параметрами Каждый раз, когда пишешь if, можешь подумать, всё ли правильно организовано. Нельзя ли организовать код иначе. Особенно когда это вложенные if Весь этот код надо разбить на отдельные функции
https://refactoring.guru/
Страшно
Не могу судить обо всём контенте, который там есть, но единственная статья, которую я на нём прочитал, несла неверную информацию. Паттерн chain of responsibility описан у gof, и он несёт не тот смысл, который в него вкладывают на этом ресурсе: ничего подобного мидлварам экспресса он не предполагает Судя по оглавлению, ресурс представляет собой компиляцию Гоф и рефакторинга Фаулера. Если так, то он бессмысленен: обе книги хорошо переведены на русский ещё лет 15 назад, если не раньше
🫣
я кстате не читал там паттерны особо. Я скинул чтобы человек ознакомился с тем что ему необходимо, а необходимость в чистом коде
Тебе писали про функции, их как раз можно в классы в виде методов запихнуть, на выходе будет получаться что то вроде: Service.getType. Отдельным модулем его сделай и будет тебе счастье, меньше в index.js строк будет и больший размах твоему творчеству.
Только экспорт сделай удобный чтобы каждый раз не создавать переменную с new
просто модули, зачем классы
Если класс используется только как неймспейс, то зачем он нужен? Достаточно просто объединить все функции в один модуль
Можно эту функцию разделить на такие две части, и уже будет проще воспринимать и работать с этим. 1. Page Controller (У тебя там нет html страниц, но представь, твой бот этот такой же слой презентации как и страница сайта) 2. TransactionScript Вот про слои можно почитать еще. И SOLID не помешает Есть еще куча разных способов (но отчасти схожих) как можно разделить ответственность в коде между презентацией, логикой и данными, но все в основном делают слои и транзакционные скрипты, Для начала этого будет достаточно
Обсуждают сегодня