@zlodiak

Правильно ли применён принцип единичной ответственности?

Скажите пожалуйста, правильно ли я исправил скрипт при помощи принципа единственной ответственности?

Вот пример, в котором этот принцип не соблюдается.
Вот пример, в котором этот принцип соблюдается.

Сомнения возникают по поводу того, что во втором примере, несмотря на использование dependency injection, всё равно класс Summator выполняет два отличных действия:
1. вычисление суммы,
2. запись в лог

Не правильнее было бы запись в лог производить в клиентском коде так?
  • Вопрос задан
  • 97 просмотров
Решения вопроса 1
rockon404
@rockon404
Frontend Developer
По принципу единственной ответственности метод getSum должен лишь возвращать сумму. Никаких дополнительных действий в нем происходить не должно.

Насчет последнего примера трудно что-либо посоветовать, так как это имеет мало общего с реальным клиентским кодом. Сам Summator лишняя неудобная сущность которую можно смело заменить на:
const sum = arr => arr.reduce((acc, i) => acc + i);

const calculateSquaresSum = arr => sum(arr.map(i => i.calcArea()));


Для логгирования в dev режиме обычно используют декораторы или middleware.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы