Further Reading
Note: This book has now inspired a video series from O'Reilly, Learning C++ Best Practices
C++
- https://github.com/isocpp/CppCoreGuidelines The C++ Core Guidelines are a set of tried-and-true guidelines, rules, and best practices about coding in C++
- https://www.gitbook.com/book/alexastva/the-ultimate-question-of-programming-refactoring-/details - The Ultimate Question of Programming, Refactoring, and Everything
- http://llvm.org/docs/CodingStandards.html - LLVM Coding Standards - very well written
- http://geosoft.no/development/cppstyle.html
- https://google.github.io/styleguide/cppguide.html (Note that Google's standard document makes several recommendations which we will NOT be following. For example, they explicitly forbid the use of exceptions, which makes RAII impossible.)
- https://isocpp.org/faq/
- http://www.cplusplus.com/
- http://www.gamasutra.com/view/news/128836/InDepth_Static_Code_Analysis.php - Article from John Carmack on the advantages of static analysis
- https://svn.boost.org/trac/boost/wiki/BestPracticeHandbook - Best Practice Handbook from Nial Douglas
- http://sourceforge.net/apps/mediawiki/cppcheck/index.php?title=ListOfChecks
- http://emptycrate.com/
- http://stackoverflow.com/questions/tagged/c%2b%2b-faq?sort=votes&pageSize=15 - StackOverflow C++ FAQ
- http://codergears.com/qacenter/ discussion center for C and C++ best practices
- http://www.viva64.com/en/b/0391/ The Ultimate Question of Programming, Refactoring, and Everything
CMake
- https://cmake.org/cmake/help/latest/manual/cmake.1.html - Be aware that there are
--warn
command line options for CMake that can catch some issues. - https://github.com/Akagi201/learning-cmake
- https://codingnest.com/basic-cmake/
- https://gist.github.com/mbinna/c61dbb39bca0e4fb7d1f73b0d66a4fd1 - Effective CMake online book
- https://pabloariasal.github.io/2018/02/19/its-time-to-do-cmake-right/
- https://cliutils.gitlab.io/modern-cmake/ - An Introduction to Modern CMake