Differences between revisions 1 and 10 (spanning 9 versions)
Revision 1 as of 2016-05-12 10:02:33
Size: 106
Editor: SamatJain
Comment:
Revision 10 as of 2016-05-28 20:51:10
Size: 1596
Editor: SamatJain
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:

Use:

{{{
clang-tidy -checks='*' main.cpp -- -std=c++11
}}}

[[http://clang.llvm.org/docs/ClangFormat.html|ClangFormat]]: auto-formats C++ code

 * [[https://github.com/andrewseidl/githook-clang-format|Git hook running clang-format]]. Don't use this!

== C++ style guides ==

 * [[https://google.github.io/styleguide/cppguide.html|Google]]
 * [[http://llvm.org/docs/CodingStandards.html|LLVM]]
 * [[http://www.chromium.org/developers/coding-style|Chrome/Chromium]]
 * [[https://developer.mozilla.org/en-US/docs/Developer_Guide/Coding_Style|Mozilla]]
 * [[http://www.webkit.org/coding/coding-style.html|WebKit]]
 * Qt's [[https://wiki.qt.io/Qt_Coding_Style|Coding Style]] and [[https://wiki.qt.io/Coding_Conventions|Coding Conventions]]

== Static analysis tools ==

 * [[http://clang-analyzer.llvm.org/|Clang Static Analyzer]]: sets CC and CXX to use alternate compiler to do analysis
 * [[http://cppcheck.sourceforge.net/|Cppcheck]]; [[https://github.com/danmar/cppcheck/|github:danmar/cppcheck]]

{{{#!highlight sh numbers=off
# Highest severity warnings only (i.e. memory leaks, etc)
cppcheck --enable=all *.cpp
# Everything except style-related linting
cppcheck --enable=warning,performance,portability,information,missingInclude \
         --std=c++11 --library=std.cfg --verbose --quiet \
         *.cpp
}}}

Overview articles:

 * [[https://arcanis.me/en/2015/10/17/cppcheck-and-clang-format/|Add cppcheck and clang-format for a cmake project]]

Clang-Tidy — Extra Clang Tools 3.9 documentation

Use:

clang-tidy -checks='*' main.cpp -- -std=c++11

ClangFormat: auto-formats C++ code

C++ style guides

Static analysis tools

# Highest severity warnings only (i.e. memory leaks, etc)
cppcheck --enable=all *.cpp
# Everything except style-related linting
cppcheck --enable=warning,performance,portability,information,missingInclude \
         --std=c++11 --library=std.cfg --verbose --quiet \
         *.cpp

Overview articles:

SamatsWiki: CodingStyle/C++ (last edited 2020-09-02 20:49:51 by SamatJain)