3 ms·
> But the best is just to understand everything that happens. Agreed, but unless you have written all the code yourself then this is hard to do. We have to be
by discreteevent 6y ago
> But the best is just to understand everything that happens.
Agreed, but unless you have written all the code yourself then this is hard to do. We have to be able to black-box things in order to manage complexity and make progress quickly. For this SOLID helps but if it is applied a too fine a granularity then it can make things worse (and I think micro testing things with mocks etc can cause this)
"There is no theoretical reason that anything
is hard to change about software.
If you pick any one aspect of software
then you can make it easy to change,
but we don’t know how to make everything
easy to change. Making something
easy to change makes the overall system
a little more complex, and making
everything easy to change makes the entire
system very complex. Complexity is
what makes software hard to change.
That, and duplication."
https://martinfowler.com/ieeeSoftware/whoNeedsArchitect.pdf https://martinfowler.com/ieeeSoftware/whoNeedsArchitect.pdf
- nendroid 6y agoI disagree with Martin very much. Programs can be made easy to change without introducing complex OOP abstractions. There is a simple rule that Martin fails to ever mention. Use combinators as much as possible and segregate as much logic as possible from IO. That's it.
- deleted 6y ago[deleted]