Have a convention to make a unique identifier based on the file name for defensive includes
This works well for our code base especially since we use name based prefixes to ensure uniqueness of symbols we use for defensive includes across code base:
In our base the convention that makes sense is something like this:
For COLstring.h
Use COL_STRING_H
Basically <prefix>_WORD1_WORD2…_H
The key thing is that if the header file name changes we have to change the defensive include symbol.