I've been programming for well over 15 years and have watched myself move from the "comments are for wimps" mentality to the "document the hell out of everything" track.

When I first started programming, compilers either didn't exist for my computer or were rediculously expensive; BASIC was the only option and comments used up precious RAM. When returning later to a program I'd developed, it was often necessary to do a "brain run" several times to figure out what I was attempting to do. Comments would have helped.

Flash forward a few years and I'm maintaining an application written by another person in the company I'm working for. The application is compiled, but there are still very few comments; the "comments take up RAM" option doesn't hold any water any more but I can go and hunt down the original developer to pump his brain for information on why he did specific things. Comments would have helped him.

I'm now writing large applications in Perl and various other languages and I've made comments part of the design process. Comments help me and the other developers organize our thoughts. POD text in the modules makes it convenient for me to keep documentation in sync with the modules.

But, most importantly, the documentation included in my modules saves me hours of time by not having to stop what I'm doing and answer "How do I use this module again?"


In reply to Why I'm a Pod::Nazi by Bobcat

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.