Consensus on the kdelibs coding style
Thiago Macieira
thiago at kde.org
Sat Jul 5 15:13:33 BST 2008
Lubos Lunak wrote:
>which defines even completely useless things like
>requiring {}'s around a single-line if() body statement (where's the
> point in that?), I'd prefer something simple.
Just for information, that requirement is not in the Qt style. That's
actually one of modifications that was added to the KDE Libs style on top
of the Qt style. If you look at Qt code, you'll see that is not used.
Anyways, regarding your proposal, I'll say what most other people will
say: I disagree in certain points, but having one *single* style is
better than having none, whatever the style is (as long as it makes
sense, of course).
The major point is actually deciding on the "4 spaces, NO TABS"
(capitalisation mine, but should be there). Tabs are inherently evil and
should be banned altogether, to the point of warranting a wide-reaching
tab-replacement commit (svn can now ignore whitespace changes in
annotation, git has been able to do it for years).
A distant second is the placement of the braces. Your style is closer to
my own preferred style, actually, but I'd still advocate for matching
Qt's simply because of pragmatism.
The only thing I don't like in your code is the indentation of label-like
constructs (case labels and public/protected/private) because of this:
class Foo
{
Foo();
public:
Foo( int a );
};
So I'd go for "label-like constructs are de-indented one level":
switch (a)
{
case 'a':
break;
}
This would again match the Qt style.
So, that's it. As long as we can agree on one style and actually enforce
it, I'll be happy.
--
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
PGP/GPG: 0x6EF45358; fingerprint:
E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20080705/39d25768/attachment.sig>
More information about the kde-core-devel
mailing list