"I'm giving up on X/Y/Z because I've found a case where it didn't work well for me".
Isn't that how pretty much everything in the world works? There's no reason to be dogmatic about things like this.
"I'm giving up on X/Y/Z because I've found a case where it didn't work well for me".
Isn't that how pretty much everything in the world works? There's no reason to be dogmatic about things like this.
It's just a bad mix with the clickbait title, a story that has a different root cause and a somewhat obscurely written conclusion.
- 1 assertion per test
- Exceptions instead of return codes
- CQRS
etc
All of these are good guidelines in some contexts. I cannot fathom why anyone would think they apply to every situation...
Guy managed to bloat a simple mobile app to 180kloc. Every change we wanted to make after inheriting the codebase required changing abstractions in >10 places and all their corresponding unit and integration tests. I'm talking changes like adding an additional value to a dataset. Everything was abstracted as far as humanly possible.
He was a very proud clean code aficionado and would not let anyone from his old team dissuade him. He would also regularly scold his somewhat more junior co-worker when he did not follow his 7 layer abstractions for services, providers, surfaces, use cases and bindings.
But alas, I don't want to say you're wrong but there are people that would do well with this simple piece of advice.