3 ms·
Uncle Bob is a menace to TDD. Nothing more effectively or immediately turns people off than being told that they are, in fact, unprofessional and by extension u
by jacques_chester 8y ago
Uncle Bob is a menace to TDD. Nothing more effectively or immediately turns people off than being told that they are, in fact, unprofessional and by extension unethical.
As for myself: I am not sure that TDD can really be learned effectively from a book alone. I read Kent Beck's book and my reaction was "well this is concisely-stated bullshit". Then I went to work for Pivotal Labs and I now I understand the fuss.
- remar 8y agoDoes Pivotal have a list of resources/references to help new hires ramp up on TDD practices and principles that you can share? My current plan is to finish reading and working through the examples in 'Growing Object Oriented Software, Guided by Tests' as that seems to be a very highly recommended book.
- jacques_chester 8y agoWe have a "letter to a new engineer" that we hand to new hires somewhere, it includes a reading list. Email me (profile) and I'll try to dig it up.
- andrewbinstock 8y agoWhat I begrudge Bob Martin for is making TDD into religion. Even this article, which wonders why TDD is not more practiced, has religious overtones ("Print out this list and place it at your desk," --as though the reader cannot by him/herself determine what to do with the information. (In contrast: "I found this table so useful that I cut it out and placed it at my desk" sets a whole different tone.)
- ramblerman 8y agoAbsolutely, I mean I'm pretty sure Linus isn't using TDD to develop the linux kernel, or git. My problem is that Uncle Bob's dogmatism, is then cargo culted by mostly 'weak' developers as a shield behind which to create an illusion of competence. Just repeat outrageous things like everything must be TDD, we must have 100% code coverage, and avoid those tricky decisions called software engineering.
- malkia 8y agoIt could be that Linus, the people he chose to be his "captains", the design and code review process, and the sheer amount of linux usage anywhere maybe enough. The linux kernel might be the most analyzed (by people and machines) piece of software there was. But then a lot of business-logic software is out there just to support client-A able to do rpc calls to your service, and usually one or two engineers implement it, few more look at it, gets deployed, and it's expected to run flawlessly for long time. Then someone else modifies it later, and the original "developers" are gone (another project, company, retired, etc.)... Definitely not the case with Linux. So my take is that such software needs TDD to hold on it's own, such that it could be developed further by complete strangers.