4 ms·
There's no mechanical process from which blind adherence could produce good design without the author/engineer having experience or knowledge (or both). It jus
by chii 3y ago
There's no mechanical process from which blind adherence could produce good design without the author/engineer having experience or knowledge (or both).
It just stops bad design from setting in too easily - and even then, it's "easy" to workaround or apply the process incorrectly or too pedantically.
- AnimalMuppet 3y agoAs you say, TDD can make it "less easy" for a bad design to settle in - if you pay attention. If it's hard to write the test, it may be telling you something about the design. If you listen, that can push you toward fixing the design. If you don't listen, well, you're just going to write the tests that you're told to write, and probably grumble about it, but that doesn't help the design at all.
- chii 3y ago> If you listen requires that you know what to listen for. I've seen junior developers write terrible tests. The thing is, to know what a good design looks like require experience. To know that the test was hard or bad requires experience, or at least knowledge of what makes a test good. If you've never seen a good test, you might think the test you wrote was good, and the pain is just normal.
- sprucebruce 3y agoThis is exactly what I'm getting at in the blog post. I think the message that it works "if you listen" needs to be front and center so that learners and skeptics can figure out how to apply TDD in scenarios where they don't have any hands on guidance.