Сведения о вопросе

Codeliver

14:34, 12th August, 2020

Теги

oop    

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

Просмотров: 413   Ответов: 2

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



  Сведения об ответе

VERSUION

07:17, 18th August, 2020

Я не знаю, что есть хороший ответ на этот вопрос, кроме "apply your judgement, based on your experience." если это не так, получить помощь, что я думаю, что вы делаете здесь ;)

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

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


  Сведения об ответе

dumai

22:16, 16th August, 2020

  1. Я бы не слишком беспокоился о детализации изначально. Я просто пойду с разделением беспокойства на более широком уровне изначально. Основной момент заключается в том, что мы должны избегать чрезмерной инженерии здесь. Но этого достаточно. Я согласен с Лукасом здесь, что этот первый шаг будет улучшаться с опытом.
  2. Поскольку требования меняются, поскольку я начинаю получать 'smells', поскольку мое понимание проблемы улучшается, я бы рефакторировал дизайн, разложив отдельные проблемы по мере их очевидности. В принципе разделение интересов также должно быть эволюционным, как и в случае общей конструкции.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться