• Commenting should be a description of what the code is doing.

    Good code makes it easy to understand how it is doing it.

    These are two distinct objectives.

    And no, a programmer should not be the last person to test but a really good programmer should give the tester no reason to send it back for rework.