[coreboot] Proposal for new "Commenting" wiki text

Nico Huber nico.h at gmx.de
Thu Sep 8 00:10:49 CEST 2016


On 05.09.2016 18:34, tmiket wrote:
> On 2016-09-04 12:36, Martin Roth wrote:
>> Hey Nico,Thanks for writing that up and not just letting this drop
>> with no
>> resolution and action.
>>
>> To anyone just coming in on the discussion, here's what we're talking
>> about
>> changing:
>> https://www.coreboot.org/Coding_Style#Commenting
> 
> I am new to this discussion and to coreboot.

Welcome to coreboot, then :)

> 
> This appears to be a "hidden" page in that the TOC on top left doesn't have
> a link called Coding Style.  Is this a new work in progress page?

I wouldn't call it "hidden". As with most wikis, there is just no com-
prehensive TOC.

>
> It appears more detailed than the corresponding Coding Style in the
> Development Guidelines page.

Actually, that page links to Coding_Style in section 2.5. But maybe we
should link it on the Welcome page, too.

Regards,
Nico

> 
> I'm asking because I start a new job that uses coreboot and I'm working
> my way through the online documentation.
> Cheers,
> T.mike
> 
>>
>> I'd suggest just a couple of changes to your update:
>>
>> Let's define what a "short" comment is to avoid future arguments that
>> 10
>> lines is short:
>>>       /* This is the preferred style for
>>>          two or three line comments that
>>>          avoids excessive blank lines. */
>>
>> And I'm not certain of this paragraph, and I'd recommend removing or
>> changing it a bit.
>>
>>> In case of doubt, the author of the code shall have the last word on
>>> comment styles. He should know best which style makes his code most
>>> readable.
>>
>> 1) I think that Stefan as the project leader should have the decision
>> about
>>  anything that is controversial enough to need a last word.
>> 2) What if the author is female?  :)  Maybe use 'they' as the pronoun
>> if this
>>
>> paragraph is left in.  Not a big deal, but I'd like to be inclusive.
>>
>> 3) I think this might be just asking for arguments.  I'm not talking
>> about anyone
>> specific, just thinking of discussions in the past.
>>  -- "As the author I LIKE ascii art in my comments and I get the final
>> say."
>>  -- We're going to get lawyer arguments: "It says above that the c99
>> style
>>     is valid - why can't we just prefix the whole 16 line block with
>> '//'"?
>>  -- "I know it says not to say 'increment i', but as the author, I
>> think it's
>>      helpful."
>> 4) I think this would be the only "the author has the final say"
>> policy - what
>> happens when someone rewrites the comment in a following patch?  Who
>> is the author?
>>
>> Maybe we could change it from "has the last word" to something saying
>> like:
>>
>>> If the author has reasonable arguments for breaking the recommended
>>> style guide to improve readability, others should be respectful of
>> those
>>> differences.
>>
>> I think this preserves the intent without some of the issues.
>>
>> Martin
>>
>> On Sun, Sep 4, 2016 at 8:42 AM, Nico Huber <nico.h at gmx.de> wrote:
>>
>>> Hi folks,
>>>
>>> I think we kind of agreed that the wiki text about "Commenting"
>>> should
>>> change. So here is my proposal, feel free to edit, add something or
>>> just
>>> ack or complain about it.
>>>
>>>> == Commenting ==
>>>>
>>>> Comments are good, but there is also a danger of over-commenting.
>>> NEVER
>>>> try to explain HOW your code works in a comment: it's much better
>>> to
>>>> write the code so that the _working_ is obvious, and it's a waste
>>> of
>>>> time to explain badly written code.
>>>>
>>>> Generally, you want your comments to tell WHAT your code does, not
>>> HOW.
>>>> Also, try to avoid complex comments inside a function body: if the
>>>> function is so complex that you need to separately comment parts
>>> of it,
>>>> you should probably go back to chapter 6 for a while.  You can
>>> make
>>>> small comments to note or warn about something particularly clever
>>> (or
>>>> ugly), but try to avoid excess.  Instead, put the comments at the
>>> head
>>>> of the function, telling people what it does, and possibly WHY it
>>> does
>>>> it.
>>>>
>>>> coreboot style for comments is the C89 "/* ... */" style. You may
>>> also
>>>> use C99-style "// ..." comments.
>>>>
>>>> The preferred style for concise multi-line comments that explain a
>>>> single piece of code is:
>>>>
>>>> /* This is the preferred style for
>>>> shorter multi-line comments that
>>>> avoids excessive blank lines. */
>>>>
>>>> Note that there shouldn't be leading asterisks on new lines in the
>>>> concise style.
>>>>
>>>> The preferred style for long multi-line comments is:
>>>>
>>>> /*
>>>> * This is the preferred style for multi-line
>>>> * comments in the coreboot source code.
>>>> *
>>>> * Description: A column of asterisks on the left side,
>>>> * with beginning and ending almost-blank lines.
>>>> */
>>>>
>>>> Some rules of thumb to decide which style to use:
>>>> * If you are commenting a whole function (indentation level 0) or
>>>> something high level (indentation level 1), use the long style.
>>>> * If you want to explain a single piece of code and your comment
>>>> doesn't span multiple paragraphs, use the concise style.
>>>> * Otherwise you might want to ask yourself why what you're going
>>> to
>>>> explain doesn't deserve an own function.
>>>>
>>>> It's also important to comment data, whether they are basic types
>>> or
>>>> derived types.  To this end, use just one data declaration per
>>> line (no
>>>> commas for multiple data declarations).  This leaves you room for
>>> a
>>>> small comment on each item, explaining its use.
>>>>
>>>> In case of doubt, the author of the code shall have the last word
>>> on
>>>> comment styles. He should know best which style makes his code
>>> most
>>>> readable.
>>>
>>> Nico




More information about the coreboot mailing list