4 ms·
This piece is great overall, but: > TDD[...] zealots are probably zealots [...] Because they're sick to death of things breaking in production and having to p
by 3pt14159 5y ago
This piece is great overall, but:
> TDD[...] zealots are probably zealots [...]
Because they're sick to death of things breaking in production and having to program against interfaces that were designed as an implementer was thinking about them over how a caller would view them. There are times and places to not do TDD, I'd say on the backend around 15% of the time where exploration first is more important (e.g., some data science thing where you don't even know the shape of the data yet) but for run of the mill programming TDD works, but most people still don't do it even if they say they do.
I had my zealot phase on TDD, and what got me out of it was just resigning to the reality that the world isn't going to change. But that said, when friends / coworkers going on zealot style TDD rants I pour gasoline on that fire because I still enthusiastically agree with them.
- amw-zero 5y agoWhat got me out of TDD zealotry is the enormous cost of really testing software well, I mean all branches, all sides of all conditions, large amounts of input space coverage. Then that coupled with the fact that specifications change constantly and relentlessly, invalidating some percentage of all of your cases. I agree with the sentiment that got me into testing in the first place: software is complicated and hard to modify without breaking something. But, TDD for sure isn’t the answer to that problem.