|Perl: the Markov chain saw|
Re: Re: Ways of commenting subroutinesby willdooUK (Beadle)
|on Mar 29, 2001 at 17:47 UTC||Need Help??|
I think that even more than other programmers, Perl people have to take most care to write clear code.
...so the comment (which was already not really necessary) becomes incorrect, making the code less clear.
A good example of code that can be relieved of comments:
if a method is added to do this test:
...then the original code becomes:
...so the comment is no longer necessary.
(The above examples come from 'Essential Java Style' by Jeff Langr (Prentice Hall PTR) - a very good book that goes through a series of Best Practise rules-of-thumb. In this case, he goes on to say that one of the few places where comments are necessary is when a method has a dependency, i.e. it requires that another method be executed first.)
I know from personal experience that excessive comments can ruin productivity - on one of my first commercial projects, the head programmer insisted that everyone had a ratio of about 2:1 comments to code (that's two lines of comments per line of code!). The design sucked, so despite all these comments the coding was difficult, unclear and underproductive.
On the other hand, when I worked on a project six months later, using the Extreme Programming methodology (XP), where you are supposed to have practically no commenting, we were writing excellent safe code. One of the idealogies of XP was that code always should be as simple and clear as possible. If it could not be easily understood, it was basically wrong.
I don't want to sound like a Software Engineering lecturer, but I certainly want to say that (IMHO) if a problem is unclear, you really, REALLY should not jump in and start coding it. An extra hour spend dealing with the more abstract design will save you 10 hours in coding, maintainance and debugging, and a good design will make any problem more clear...
(waving goodbye whilst dismounting my high horse)...