If you can't write a test for it, you don't understand it well enough.
While this statement is generally true, I'm amazed how often people rely on
substituting good architecture and composability of modules with tests. Like
testability was some kind of magic chicken that made software good once
somebody waved it over the codebase, while the tests are mostly useful for
detecting regressions.
The ability to write tests is a fine measure of good architecture and composability. Excessive coupling is one of the top reasons tests can't be easily written.
Comments
While this statement is generally true, I'm amazed how often people rely on substituting good architecture and composability of modules with tests. Like testability was some kind of magic chicken that made software good once somebody waved it over the codebase, while the tests are mostly useful for detecting regressions.
The ability to write tests is a fine measure of good architecture and composability. Excessive coupling is one of the top reasons tests can't be easily written.