Daily using/supporting

Get Firefox browser!
Get Thunderbird!
Get Opera browser!
Get The Gimp!
Get Inkscape!
Get LibreOffice!
Get Videolan!
Get Linux!
Get Mandriva!
Get Joomla!
Hacker Emblem

Archives

Which topics would you like us to cover more?

Latest comments

Latest tweets

about 1 day ago Using REDIPS.drag to add drag and drop to your .Net webapplication #li #dib0 http://t.co/n8zY3s7d
about 7 days ago http://t.co/cknQcDbo #Kindle
about 15 days ago Freedom isn't the ability to choose what to do or say, but the ability to choose what not to do or say #freedom
about 29 days ago http://t.co/61KTQknI #Kindle
12 Apr 2012 Force the use of a networking adapter using C# #li #dib0 http://t.co/ZTJOPzOz
9 Apr 2012 Mandriva 2010.2 and USB devices in Virtualbox http://t.co/fwq9gbHB
9 Apr 2012 Execute a http request to you own site with PHP http://t.co/DIvWPrpd
Home Architecture, security and coding Development processes and quality code
Development processes and quality code
Written by Division by Zero   
Wednesday, 11 May 2011 23:16

Today I read the article 'Process kills developer passion' by James Turner. His point is that all the quality assurance surrounding development (test driven development, code coverage, reviews, etc.) kills the passion of developers. This will result in poor quality code.

While he really has a point, there has to be a middle ground. Long time maintenance is often forgotten. This is what code quality is really about: the evolution and long time functioning of the software. The software won't end after the project stops, therefore it's a good idea to put some effort in a standard way to document, test and maintain the code. And yes, these bits are boring (hey, it can't be all fun!)

This middle ground must always be a pragmatic approach. I always value the human factor. Personally I'm convinced that reviews are a good way to ensure quality on the long term. Not only will code be corrected, but more importantly: developers will talk about there code. In this way developers will learn from each other, which will increase the joy of coding.

As for TDD I believe this should be applied in a pragmatic way. If you do true TDD I'm convinced your code will become unmaintainable or at least will have a really steep learning curve (which isn't a good thing). Coverage is a quite meaningless metric. The more pragmatic approach is to automatically test the code on crucial (business) logic and bugs that appear over time.

 

Add comment


Security code
Refresh

Only put off until tomorrow what you are willing to die having left undone. - Pablo Picasso


© 2009 - 2012, Division by Zero

Template based on the empire template by joomlashack 

Valid XHTML 1.0 Strict  Valid CSS!  Creative Commons License
This work by Division by Zero is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Netherlands License.