Принцип единой ответственности:степень детализации причины изменения

StackOverflow https://stackoverflow.com/questions/27018

  •  09-06-2019
  •  | 
  •  

Вопрос

Применяя Принцип единой ответственности и рассматривая причину изменения класса, как вы определяете, является ли эта причина слишком детализированной или недостаточно детализированной?

Это было полезно?

Решение

Я не знаю, есть ли на этот вопрос хороший ответ, кроме как "применить свое суждение, основанное на вашем опыте". В противном случае обратитесь за помощью, что, я полагаю, вы и делаете здесь ;)

Серьезно, однако, если вы обнаружите, что создаете миллион классов для выполнения того, что кажется простой работой, то вы, вероятно, слишком детализируете процесс.Если все ваши занятия кажутся колоссальными, то вы, вероятно, ведете себя слишком грубо.Пожалуйста, простите меня, если это утверждение очевидно.

Я думаю, что это один из тех нечетких примеров без жестких правил, которые показывают нам, зачем нам нужны программисты-люди.Просто попробуйте что-нибудь, стремясь к балансу, и проведите рефакторинг, если обнаружите, что зашли слишком далеко в том или ином направлении.И помни: если это стоит делать, то стоит делать плохо.

Другие советы

  1. Изначально я бы не слишком беспокоился о детализации.Сначала я просто перейду к разделению интересов на более широком уровне.Основной момент заключается в том, что здесь нам следует избегать чрезмерной инженерии.Но этого вполне достаточно.Я согласен с Лукас здесь указано, что этот первый шаг будет улучшаться с опытом.
  2. По мере изменения требований, по мере того, как я начинаю улавливать "запахи", по мере улучшения моего понимания проблемы, я бы реорганизовал дизайн, выделив отдельные проблемы по мере того, как они становятся очевидными.В принципе, разделение интересов также должно быть эволюционным, как и в случае с общим дизайном.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top