From: Kristian Nielsen
Date: October 2 2009 8:13am
Subject: Re: [style] Proposal for include guard naming and usage
List-Archive: http://lists.mysql.com/internals/37342
Message-Id: <874oqitdq4.fsf@knielsen-hq.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Mats Kindahl writes:
> I have a proposal for rules regarding the naming and usage of include guard. I
> see currently in the code include guards missing, but also used in odd ways that
> makes it more difficult to automatically check header files for missing include
> guards.
Sounds good!
> - Include guards shall be of the form ``PACKAGE_HEADER_INCLUDED``,
> that is: the package name followed by the base file name (excluding
> the extension) in all capital letters, numbers, and underscores. The
> package name and the header name is separated by an underscore.
> The extension is omitted because there are different naming
> conventions (.h, .hh, .hpp) and the choice of naming convention for
> header files should not affect the include guard name.
$ find . -name '*.h' -o -name '*.hpp' -o -name '*.ic' | xargs egrep '^#define.*_H'|wc -l
1735
$ find . -name '*.h' -o -name '*.hpp' -o -name '*.ic' | xargs egrep '^#define.*_INCLUDED'|wc -l
9
Please do not change the existing code style without good reason. Clearly the
current style is using _H, not _INCLUDED, and _H will be as easy for
developers to undestand as _INCLUDED, no matter the name of the file.
So let's keep PACKAGE_HEADER_H, please?
Thanks,
- Kristian.