>I have more (I wrote a bit of that in my book) but heading out for now. >From your book:
TDD Is Hard to Apply We noticed a worrisome trend in the Test-Driven Development reading material that we have seen over the years. A lot of it focuses on very simple, textbook problems such as: - A scorecard for bowling - A simple container (Stack or List) - A Money class - A templating system There is no question in our minds that Test-Driven Development works wonders on these examples, and the articles describing this practice usually do a good job of showing why and how. What these articles don’t do, though, is help programmers dealing with very complex code bases perform Test-Driven Development. ... we certainly share the perplexity of developers who like the idea of Test-Driven Development but can’t find any reasonable way to apply it to their day jobs. I don't think the above is suggesting that TDD only works on simple problems, but if it is, then in "Straw Man TDD" [1] Jason Gorman talks about the myth that "TDD Only Works On Simple, Toy Examples". If your book is complaining about how TDD is taught, then Justin Searls recently wrote a very interesting post: The Failures of "Intro to TDD" [2]. Robert Martin replied with the equally interesting "The Domain Discontinuity" [3]. [1] http://codemanship.co.uk/parlezuml/blog/?postid=1170 [2] http://blog.testdouble.com/posts/2014-01-25-the-failures-of-intro-to-tdd.html [3] http://blog.8thlight.com/uncle-bob/2014/01/27/TheChickenOrTheRoad.html Philip On Friday, 21 February 2014 21:47:44 UTC, Cédric Beust ♔ wrote: > > Not a big fan for multiple reasons: > > - TDD introduces a lot of churn, especially in the early phases of your > coding. If you're beginning to work on a problem from scratch, you will > most likely throw one or two initial implementations before reaching > something you feel is acceptable as a v1.0. Writing tests for any version > prior to this one is a waste of time. > > - TDD encourages myopic design. You are more focused on writing your code > so it can pass trivial unit tests than thinking about how your overall > design will fit with the rest of the code base. > > - TDD has high friction. If you are very zealous with TDD, every minor > change in the code base will cause you to update tests. I'm okay with a > little bit of that (it's the purpose of tests) but not to the extent that > TDD promotes. > > - It overly privileges unit tests over functional tests, and my default > position is that functional tests are more important (if I have the time to > write a functional or a unit test and just one, I'll always go for > functional because these tests have a direct impact on users, as opposed to > unit tests which are just a convenience for you, the developer). > > I have more (I wrote a bit of that in my book) but heading out for now. > > -- > Cédric > > > -- > Cédric > > > > On Fri, Feb 21, 2014 at 1:08 PM, Rakesh <[email protected]<javascript:> > > wrote: > >> Hi, >> >> **usual disclaimer about not looking to start a flame war** >> >> A friend of mine recently interviewed at a company for a position as an >> iOS dev. >> >> The topic of TDD came up and my friend stated that she was a big fan. >> >> The interviewer on the other hand, said he wasn't and that the 'jury was >> still out'. >> >> I'm curious, who is the 'jury'? >> >> As for myself, if i can join a team doing tdd or be in a position where i >> can, i'm happy. >> >> This group is stocked with experienced devs so i'm not looking to convert >> anyone, but surely by now, the nay sayers are in the decline? >> >> Thoughts? >> >> Rakesh >> >> Ps kevin, REALLY interested in your opinion. >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Java Posse" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> To post to this group, send email to [email protected]<javascript:> >> . >> Visit this group at http://groups.google.com/group/javaposse. >> For more options, visit https://groups.google.com/groups/opt_out. >> > > -- You received this message because you are subscribed to the Google Groups "Java Posse" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/javaposse. For more options, visit https://groups.google.com/groups/opt_out.
