Задать вопрос

Нормально ли таким образом «упрощать» код?

Здравствуйте. Пишу бота для телеграм. Сейчас код выглядит примерно так:
bot.on('message', msg => {
   someFunc(bot, redis, db, msg)
});

function someFunc(bot, redis, db, msg) {
  //какие-то действия с Redis
  //какие-то действия с БД
  bot.sendMessage(msg.from.id, 'TExt');
}


Мне не нравится, что я передаю много переменных в функцию someFunc (со временем кол-во этих переменных возрастёт). И я решил воспользоваться замыканием:
function gen(bot) {
   return send(id, text) {
       bot.sendMessage(id, text)
   }
}


Теперь мне не надо передавать в someFunc переменную bot. Вместо этого я буду вызывать функцию send(). Нормальная ли это практика? Не ухудшит ли это читаемость и поддержку кода?
  • Вопрос задан
  • 486 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 1
Это называется "каррирование" (англ. carrying).
Вполне нормальная практика.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы