16 lines
796 B
Text
16 lines
796 B
Text
|
"Include what you use" means this: for every symbol (type, function,
|
||
|
variable, or macro) that you use in foo.cc (or foo.cpp), either foo.cc
|
||
|
or foo.h should include a .h file that exports the declaration of that
|
||
|
symbol. (Similarly, for foo_test.cc, either foo_test.cc or foo.h should
|
||
|
do the including.) Obviously symbols defined in foo.cc itself are
|
||
|
excluded from this requirement.
|
||
|
|
||
|
This puts us in a state where every file includes the headers it needs
|
||
|
to declare the symbols that it uses. When every file includes what it
|
||
|
uses, then it is possible to edit any file and remove unused headers,
|
||
|
without fear of accidentally breaking the upwards dependencies of
|
||
|
that file. It also becomes easy to automatically track and update
|
||
|
dependencies in the source code.
|
||
|
|
||
|
WWW: http://include-what-you-use.org
|