Posts tagged with 'TDD'
Welcome to another "Weekly Concerns". This is a post-a-week series of interesting links, relevant to programming and programmers. You can check out previous Weekly Concerns posts in the archive.
This is a special edition of Weekly Concerns, in that I'm attempting to cover the recent dust up over TDD that was triggered by DHH and responded to by several notable developer pundits. Note that I respect all of the developers in this conversation and I believe they are all making important points, but the way they communicate can be somewhat... abrasive... so make sure your jimmies are secure before you start reading.
- April 22: David Heinemeir Hansson's opening keynote at railsconf which lays the groundwork for...
- April 23: TDD is dead. Long live testing. by David Heinemeir Hansson.
- April 25: Monogamous TDD by Uncle Bob Martin.
- April 29: RIP TDD by Kent Beck
- April 29: Test-induced design damage by David Heinemeir Hansson.
- April 30: TDD, Straw Men, and Rhetoric by Gary Bernhardt. First DAS blog post in years.
- April 30: When TDD doesn't work by Uncle Bob Martin.
- April 30: Slow database test fallacy by David Heinemeir Hansson.
- May 1: Test Induced Design Damage? by Uncle Bob Martin.
- May 1: The TDD Divide: Everyone is Right by Cory House.
- May 2: Professionalism and TDD by Uncle Bob Martin.
- May 3: A remix of Professionalism and TDD by Gregory Brown.
- May 9: Is TDD dead? Part 1 panel discussion on Google Hangouts with David Heinemeir Hansson, Kent Beck, and Martin Fowler.
Lots of others have weighed in, of course, in blog posts and on Twitter. This type of discussion has been going on since Kent Beck wrote his TDD book; I believe it will continue long into the future. So I guess it's probably a good time to reread Jim Holmes book "Best Practices in Software Engineering and Testing", which is no longer available, but I will reprint in its entirety here (completely from memory, so forgive me if the phrasing isn't quite right):
"Use your brain."
If you have an interesting link that you'd like to see in Weekly Concerns, leave a comment or contact me.
Welcome back to another "Weekly Concerns" (after skipping a week). This is a post-a-week series of interesting links, relevant to programming and programmers. You can check out previous Weekly Concerns posts in the archive.
- If you haven't seen Seth Petry-Johnson's Patterns of Effective Test Setup presentation yet, you should at least check out his slides.
- Source code for MS-DOS and Word for Windows is now available.
- You can play Missile Command with a YouTube video. Just go to any YouTube video, like this one, and type "1980".
- Mark Greenway and myself did an introductory presentation on WordPress with Azure through the MVP Mentor program. A recording of WordPress with Azure is now available.
If you have an interesting link that you'd like to see in Weekly Concerns, leave a comment or contact me.
Do you agree with these concepts?
TDD is great, BDD is better. DDD is the way it should be done. SOLID principles should always be followed. Don't repeat yourself. Be agile. Follow the boy scout rule. Use an IoC tool and/or dependency injection. Don't reinvent the wheel. Always normalize your SQL tables. Use AOP to avoid boilerplate and clutter.
I do. And a lot of other people do too. But why? Because:
- ...it's been drilled into your head by peers and at software conferences?
- ...you have baggage from a previous job or hate your current job?
- ...you read about them all in a book like Clean Code, and assumed Uncle Bob knows what he's talking about?
Or have you actually researched and practiced each of these concepts and found them to be superior in many cases to the alternatives (which you've also researched and practiced)?
Well, for me, the answer is: all of the above. Except I don't hate my (current) job.
Yes, I just admitted that I've blindly subscribed to a lot of the tenets that you probably hold dear because of peer pressure and authority figures. This isn't necessarily a bad idea: authority figures and peer pressure can be useful constructs. But independent of your own healthy skepticism and critical thought, they can be dangerous too.
So before you run with any new acronym like BDD or AOP, do your research: see what your peers think, see what authority figures think, and finally use your own brain to put it all together.