4 ms·
This is my beef with naively applied DDD, separation of concerns, and design patterns. Usually what happens is the 'clean' code ideal comes first, and then the
by ljm 3y ago
This is my beef with naively applied DDD, separation of concerns, and design patterns.
Usually what happens is the 'clean' code ideal comes first, and then the implementation is squeezed into it. This then informs the organisation (or architecture) of the rest of the codebase and your software design has become a matter of putting pegs into the right-shaped holes.
I have never found that kind of highly abstracted code easier to work with than some simple procedural alternative that is easy to delete and easy to refactor, so long as effort was put into writing it well.
Of course, the patterns have a purpose and do help when used nicely - a lot of code you write will fall into some of those patterns even without you explicitly mentioning it. It's just...doing it for the sake of it is a problem.
- evilduck 3y agoWe call those architecture astronauts. The pile of abstractions stacks to the moon but when you chase down what's actually happening a 60 file repo ends up holding like 12 lines of actual programming.