100 karma · joined June 4, 2022
Wow, that seems crazy. I can only hope I never have to work with somebody who thinks it is productive to leave that many comments on a change -- I genuinely cannot imagine any change that could ever require that.
Great article, fully agree with all the points.
I've heard the programming language Swift followed this philosophy during development, though I've never written any Swift code to know how well it worked out.
Usually, the point is communicated fairly quickly a few paragraphs into the chapter and then belaboured for pages with one or two anecdotes that don’t lend much more weight to the strength/validity of the point for me.
- The SMTP client spec says that an additional period would be added here.
- The SMTP server spec says that it would remove this additional period, bringing us back to one period.
I don’t get how this led to there being no period at all. Am I missing something?
TDD commonly gets mischaracterized as a two-step process of writing a suite of tests upfront, then writing some implementation to make them all pass. It's actually much closer to what is described as TLD in the post. You write a failing test, do the bare minimum to make it pass, refactor if appropriate and start the cycle again. It's a development process that will (in theory) produce a high quality implementation and suite of tests at the end.