TDD isn't dead because DHH doesn't do it
coupled, stateful, complicated code is ruining your TDD experience
DHH’s original post is here tdd-is-dead
My response: Why I CAN TDD why DHH sucks at it
A better much less ranty post with INFORMATION on how to learn to write amazing Ruby can be found As a new Rubyist What can I do?
There used to be a shitty rant here about being banned from a forum over my heated defense of code craftsmanship, xp, and tdd. It has been deleted because I am a shitty writer and it doesn’t reflect the message I care about, Ruby and Coupling and Demeter and Abstractions, SOLID etc. The kind of shit that I am much better suited speaking about.
What follows is the sliver of what wasn’t shitty, which is shitty. So here it is. You want the original crap? Google it.
I hear the argument time and time again, and I heard it on RR Parley several times. It goes like this:
“My code is awesome without TDDing it. I don’t TDD it because TDDing my code is hard.”
People spit this shit at me all day and never stop to see the fallacy in their own sentence. YOUR code is hard to test BECAUSE you don’t TDD. It is a highly coupled, bloated piece of crap that violates the law of demeter, every solid principle out there, and when people use it, baby kittens are slaughtered.
If your coding style and content doesn’t work for TDD, then perhaps you should approach it functionally, with as little state as possible and through OO and encapsulation. Live in Ruby, not in Rails.
Still not convinced? Empirical Studies Show Test Driven Development Improves Quality
Or how about Uncle Bob’s response? Monagamous TDD
- put my money where my mouth is? take my free TDD workshop this weekend
- read my ruby manifesto… do YOU have a ruby manifesto? what I think excellent ruby looks like!
For the record, I am a IRB junkie - it isn’t just automated testing that I practice.
I am also aware that it reads REALLY fucking odd after editing.
Also, a personal note to JEG2, and Avdi: I will always be thankful of all the things you taught me in Ruby over the years and you two will always be in my top 10 hacker list. CMW however - pair with me before you act all high and mighty dude. You might learn something. And yes, I am fully aware how long you have been writing Ruby. I have been here for a long time too.
DHH is the only reason I get to do what I do. I was “playing” with Ruby and HATING my .Net day job. When I first heard of David’s framework I was jumping for joy. I soon after quit my .Net job and have been a Rubyist ever since.
He and I probably don’t agree on a lot of things based on his stances for Concerns and having ActiveRecord::Base be inherited, or TDD and highly coupled code, but I owe my career to him and all the truly AWESOME people in Ruby through the years. Many of the best are no longer with us.
An even more personal note. I am what you might call a ‘spectrum’ kid, although I might not look it. I really don’t understand humans sometimes and I come off WAY more dickish and douchie than I am. If I offend you with my ideas, fuck you. But if I offend you with my behavior, then damn, I am very sorry.
Colors, music scales, code, and abstract thought comes so much easier in my head…….. I used to live there way back when :)