Table of contents
1. Naming conventions2. Indentation & spacing
3. Writing meaningful comments
4. Function & file structure
5. Variable names & pointer usage
6. Names of structure & organization
7. Defensive programming & avoiding magic numbers
8. Global variables & constants
9. Defining macro names
10. Enum names
11. Error handling
12. Documentation
13. Formatting & braces
14. If-Then-Else & switch
15. Using goto, continue, break, and ?:
16. One statement per line
17. Enums vs. #define vs. const
18. Header file guards
19. Mixing C & C++
20. No data definitions in headers
21. Layering
22. Miscellaneous guidelines
23. Conclusion