I once worked for a company that had quite meticulous style rules
regarding comments.  I was also required to use a specific text editor
because someone had written scripts that either enabled or enforced
the comment style rules.

I resigned in protest because their actual source code is quite likely
to get someone killed someday, quite likely a great many people.  They
do industrial control systems software.  Consider that the Stuxnet and
Flame worms attacked HMI/SCADA software.

I do comment tricky stuff.

While I don't write actual comments regarding input parameters or
return results, I do assert them - "assert( ptr != NULL )".  I regard
assertions as documentation not just tests; if you intentionally
change the input parameter space, then your assertions will fail.
Given that you really did want to change the parameters, you'll be
forced to update the assertions as well.  That's better than trying to
keep comments in sync as there is no really satisfying test for
correct comments.

I quite commonly ask potential employers whether they have any kind of
coding conventions.  Whether I pursue the job has a lot to do with
what those conventions actually are.  If they're picky about their
comments I withdraw my application.  If their coding conventions are
the sort that are likely to lead to correct code then I pursue the job
with enthusiasm.
Michael David Crawford, Consulting Software Engineer
mdcrawf...@gmail.com
http://www.warplife.com/mdc/

   Available for Software Development in the Portland, Oregon Metropolitan
Area.


On Tue, Jun 2, 2015 at 5:08 PM, Graham Cox <graham....@bigpond.com> wrote:
>
>> On 3 Jun 2015, at 9:03 am, Michael David Crawford <mdcrawf...@gmail.com> 
>> wrote:
>>
>> "That's because comments are rarely maintained in sync with the actual
>> source code."
>>
>
>
> So part of the responsibility of coding well is to maintain comments, not to 
> remove them altogether.
>
> At a minimum, I comment what a method does, in broad terms, and what the 
> parameters are for, if they're not obvious. Also, any "tricks" should be 
> commented. Any code that only works because of some hidden factor that isn't 
> obvious should be commented. Any non-obvious algorithm should be commented, 
> and so on. Code that is "obvious" is generally not worth commenting - it only 
> adds clutter. The example you gave was "obvious" in my opinion, so there 
> wouldn't normally be a comment there, even if it was correct.
>
>  All this is usually covered in the style guide for coding that your employer 
> probably has, if they do any sort of serious coding. If you work for 
> yourself, you should have one as well.
>
> I don't trust completely uncommented code.
>
> --Graham
>
>

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to