Keyboard Shortcuts
ctrl + shift + ? :
Show all keyboard shortcuts
ctrl + g :
Navigate to a group
ctrl + shift + f :
Find
ctrl + / :
Quick actions
esc to dismiss
Likes
Search
Re: Which comes first: design skill or TDD?
For me, learning TDD the hard way (by doing it a lot, badly, with little guidance beyond the books and dev blogs available in the early oughts) led to a massive improvement in my software design skill. More than that, it changed the way I think about software design so that even when not doing TDD for (reasons), I write "testable" code, because?"testable" just means "simple". Big caveat: I was about 10 years into my career when I first tried something-called-TDD, and it was maybe 5 more years before I felt comfortable enough to mentor others. It's possible that this improvement was due to other reasons, and just happened to coincide with TDD adoption. But I don't think so. I've also observed a similar growth in folks I've mentored, of varying experience levels, in the 15 or so years since I first felt comfortable with TDD. Again though, It's really hard to definitively attribute this to TDD. Usually TDD is practiced by more experienced?programmers, so an environment of TDD-ers is probably generally good at mentorship. It also tends to correlate with other collaborative XP-descended working styles, which probably has a positive effect on such things. Learning TDD by just doing it, even badly, really taught me about its traps -- overmocking, falling back to end-to-end testing in a "hard-to-test" system, focusing too much on trying to simulate human behavior, just plain writing too many tests, and a whole lot more. Recognizing those traps is really useful when guiding less experienced folks on their journeys. If I think back on it, it occurs to me that when I was learning TDD, I followed red/green/refactor extremely closely (although at first, like most, I didn't focus on the refactor step enough). Now, I really don't hew to that cycle very often. I don't even know if I can claim to do TDD regularly at present, by common definition. Dave On Tue, Jul 4, 2023 at 11:36?AM Mauricio Aniche <mauricioaniche@...> wrote: Hi, JB! Thanks for starting such an interesting thread. |
to navigate to use esc to dismiss