Re: [PATCH] Documentation/CodingGuidelines: improve header includes rules
- From
Jeff King <peff@peff.net>
- Date
- Apr 15, 2009, 07:58 UTC
- Message-ID
- <20090415075819.GC23332@coredump.intra.peff.net>
- In-Reply-To
- <20090414003433.39cbdea2.chriscool@tuxfamily.org>
On Tue, Apr 14, 2009 at 12:34:33AM +0200, Christian Couder wrote:
Show 8 quoted lines
> - The third one means that for example if we have "revision.h" > that includes "diff.h" and "commit.h", then it's ok to include > "revision.h" in a C file, only if at least one feature from > "revision.h" is actually used in the C file. > > It is not ok to include "revision.h" if features from "diff.h" > and "commit.h" are used but no feature from "revision.h" is > used.
Why? I thought the guiding principle mentioned earlier was "don't waste programmers' time figuring out what should and shouldn't be included".
Sure, I would not expect somebody to include a header that is totally unrelated, but it seems that most of the source files lazily include cache.h just to get "everything".
Stripping unnecessary includes doesn't even speed up compilation, as our Makefile overspecifies the header dependencies anyway.
-Peff