The need for speed...
Recently, there has a been a thread on Asktom regarding XP and that it removed the need to have comments/documentation of the code. I’m afraid I’m in total disagreement with that concept. The theory is “the how and the why of the code is known in part by the entire development team and we will pass this knowledge down from generation to generation by word of mouth. XP makes the code (due to coding standards) so readable, comments are no long necessary”. I just very much disagree. One of the come backs was “well, comments are frequently out of date with the code”. That to me is a failure of your coding standards and peer review process then – if your standards for coding are so good that the “code is the comment”, then your standards for coding can ensure the comments/documentation are up to date as well.
Additionally, there is sometimes a huge difference between what the code does and what the code was actually intended to do. These are referred to as bugs usually. The code might be incredibly readable, but if the code isn’t doing what it was truly intended to do – so what? We need some commentary as to what the code was to accomplish. I’ve seen that many times before. In fact, someone just put up a pretty good example of that.
Then there is Agile Development. It has a time and place, but to use it everywhere is wrong. I bring this up because of two recent blog entries I just read. The first is by Kathy Sierra – on the need to slow down sometimes… I’m like her, I work on 10 things at once (attention span of a fly sometimes) usually – but for some things, you just have to sit down and plod through it slowly. Writing a chapter in a book comes to mind. That is something I just have to do from start to finish, slowly, in sequence, with a plan. The other blog was more to the point. “Agile Programming”, when applied inappropriately, is a mess. Worse than a mess, a disaster.
There are many kinds of software out there, there is no one size fits all from a development strategy. There are many kinds of tools out there, there is no one size fits all. There are many
In closing – Never say Never, Never say Always, I Always say. Figure that one out.
And just for fun… A quick movie that made me laugh.