Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

7
  • 3
    One reason to change has nothing to do with the number of use cases, actors, or how likely a change is. You should not be making a list of likely changes. It is correct that one change should only impact one class. Being able to extend a class to accommodate that change is good, but that's the open closed principle, not SRP. Commented Jul 3, 2016 at 4:53
  • Why should we not be making a list of most likely changes? Speculative design? Commented Dec 3, 2016 at 21:24
  • 1
    because it won't help, won't be complete, and there are more effective ways to deal with change than to try to predict it. Just expect it. Isolate decisions and the impact will be minimal. Commented Dec 3, 2016 at 22:01
  • Okay, I understand, it violates the "your not gona need it" principle. Commented Dec 3, 2016 at 22:12
  • Actually yagni can be pushed to far as well. It's really meant to keep you from implementing speculative use cases. Not to keep you from isolating an implemented use case. Commented Dec 3, 2016 at 22:29