# Further Reading *Note: This book has now inspired a video series from O'Reilly, [Learning C++ Best Practices](http://shop.oreilly.com/product/0636920049814.do)* ## 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](http://blog2.emptycrate.com/content/nobody-understands-c-part-2-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