There's No Place for Test-Driven Development (TDD)
kyrylo.org
kyrylo.org
Another benefit of contravariant tests? It's very difficult to create them if your architecture and design is poor. Contravariant tests lead to good architecture and design.
Bob Martin discussed these issues in his blog a few years back. https://blog.cleancoder.com/uncle-bob/2017/10/03/TestContrav...
If requirements change SO fast that it's enough to render the tests that validate them completely obsolete then writing any kind of production code at all makes no sense.
Spikes, customer research, POCs, MVPs... these things all make sense but none of these are production code and hence none of them require TDD.
>Ultimately, while TDD might work in stable environments
i.e. production code. Not all of us write production code and thats fine.
1 Make it work: a mandatory, crappy implementation that gets the job done.
2 Make it right: a nice-to-have step, improving code maintainability and reusability.
3 Make it fast: by this point, I’m already moving on to the next class or method, driven by the need for speed.
What does #2 mean to you? Why not cut it out for speed?