My opinion about Duct Tape Programmer

Wednesday, 07 October 2009

Posted by Sébastien Lachance with Comments (0)

duct-tape As everyone else, I have been following the discussion about the Duct Tape Programmer post that Joel Spolsky has written. If you haven’t read it yet, go read it and be objective.

 

Simple is better, less is better

I agree with him, really! Not totally, but the essence of what I believe is written there. It’s all about simplicity. I want my code to be simple. If I need to figure out what it’s doing, I will refactor it until I can understand it easily. And I will never consider the use of a framework or another piece of technology if I really don’t need it. Adding things for fun or for learning purpose can be fun, but it’s not the most important aspect of software development.

I just want to stay away from complicated stuff. Simpler is better. Less is better. If there is a way to accomplish a task easily without a grandiose architecture, then I’ll do it.

And don’t forget that the ultimate goal is to ship it!

 

TDD

But, I refuse to let TDD down. I don’t know why everyone else is talking about Joel hatred concerning unit testing (am I to only one not reading his blog religiously?) but I need to put my feet here and give my opinion about TDD in this context. TDD allow me to write simple code. Just what is needed and nothing else. I don’t think it slows me down. I don’t think it gave me a lot more speed on my productivity, but it sure as hell helped me a lot in making things simple. But! Yes It could slow down dramatically a new team that has never done any sort of unit testing. Why not, you need to think a lot more of how you are going  to do things and it’s not easy to get out of the “write and forget about until we test” state of mind.

 

TDD and 100% code coverage

One of the aspect of unit testing that can be a problem is the 100% code coverage mark. Most people are trying to test everything and will put a lot of effort in it. Why should it be important to cover every single line of code. Not everything should be tested. Automatic property in C# should not be tested. Use your judgement.




blog comments powered by Disqus