← Back to context

Comment by earnestinger

3 days ago

My view of Uncle Bob is that his advise is attempt improve the average situation, even if taken literally as a gospell.

It’s better that everybody do route tdd, than no tests at all. It’s better to have all methods exactly 3 lines of code, than all methods being 3 pages long.

Uncle bob preaches better baseline, experience will teach all the nuance.

Disclaimer: I dont do tdd. But it’s nice method of work to know.

every time i heard a talk or read something of his I always come out with the impression that he has no idea about anything. Most of what he says sounds like bullshit to me.

  • His advice needs to be contextualized within the 90s and 00s. He was correcting (or overcorrecting) for issues that were prevalent then: methods that were hundreds or thousands of lines, processes with hundreds of hours of design work without writing a single line of code, no testing (or maybe handing to a QA to test, if you’re lucky), and tangled messes of logic the author thought could be saved by adding a comment.

    Much of his advice seems silly or extreme now, but I believe that’s because he (and his cohort of likeminded programmers) won. Things have improved dramatically. The extreme advice worked. The problem, of course, is that you can’t just declare victory and move on. So now we have The Church of TDD and the like.

    • It's silly and extreme and dogmatic because that's what he's like as a person. This is as much reflected in his political views - not just coding.

      It might not be such a problem in other professions but good software development is heavily trade off oriented so dogmatism is especially dangerous.

      It's a shame because TDD is pretty good but he puts people off it.

    • it is contextualized in around that time. That was the time I was actually learning to program. Didn't make sense then either. Doubling the line count (functions should contain a single statement) while also fragmenting it all around the place never did strike me as "better". His code was just straight up unreadable