Consensus on the kdelibs coding style

Ingo Klöcker kloecker at kde.org
Mon Jul 7 22:17:18 BST 2008


On Saturday 05 July 2008, Cornelius Schumacher wrote:
> On Saturday 05 July 2008 15:41:23 Lubos Lunak wrote:
> > ===== Coding style proposal =====
>
> (...)
>
> So in a slightly shortened version you want to change the coding
> style which is on techbase in two aspects:
[snip]
> - Putting the opening brackets of code block to an own line (because
> your personal view and that of the Wikipedia author is that it's more
> readable)
>
> Sounds like a true coding style discussion ;-)
>
> Just for reference the rationale for the two rules:
[snip]
> - The opening bracket on an extra line violates what McConnell calls
> the Fundamental Theorem of Formatting (It says that good visual
> layout shows the logical structure of the code). The bracket
> logically belongs to the control statement which opens the block.
> Putting it in the body, but not indenting it puts it at a place where
> it neither belongs to the control structure nor to the body. That can
> be perceived as misleading. Additionally this style consumes more
> vertical space, so that you can see less code on your screen at once,
> which can make it harder to read the code.
>
> That said, there are no clear arguments why to use one or the other
> variant of the style. As far as I know, all studies which research
> this question show, that these variants of coding style don't affect
> readability.

A slight variation of Thiago's example:

int main(int argc, char **argv)
{
    if (argc >=2 &&
        strcmp(argv[1], "--help")) {
        showHelp("programname",
                 "0.1");
        return 0;
    }
}

If that's not a clear argument for putting the opening braces of a code 
block to a line of its own (which is what Thiago actually did in the 
original example) then I don't know what a clear argument is. But if 
you agree that in this case the opening brace should be placed on a 
line of its own then for consistency and simplicity of the coding style 
guidelines you should agree to make this a general rule.


Anyway, instead of sweating the small stuff, it would be way more 
helpful if we recommended all of KDE's contributors to read and follow 
the (almost exclusively) indisputable guidelines and best practices 
presented in H. Sutter's and A. Alexandrescu's "C++ Coding Standards" 
[1].

Incidentally rule no. 0 presented ibid. reads:

  Don’t sweat the small stuff. (Or: Know what not to standardize.)


Regards,
Ingo

[1] http://www.gotw.ca/publications/c++cs.htm
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 194 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20080707/c4cc3d7a/attachment.sig>


More information about the kde-core-devel mailing list