Cpplint: Difference between revisions
Rearrange + Give more details about usage + Add external link to Google's coding style guides |
m typo |
||
Line 11: | Line 11: | ||
<code>// NOLINT(rule)</code> to suppress only the incriminated <code>rule</code> category). |
<code>// NOLINT(rule)</code> to suppress only the incriminated <code>rule</code> category). |
||
Moreover rules can be |
Moreover rules can be fine-grained selected using the options <code>--verbose</code> and <code>--filter</code>. |
||
Line length rule can be configured with option <code>--linelength</code> |
Line length rule can be configured with option <code>--linelength</code> |
||
and file extensions can be configured with <code>--extensions</code> (by default: 'h', 'cpp', 'cc', 'cu' and 'cuh'). |
and file extensions can be configured with <code>--extensions</code> (by default: 'h', 'cpp', 'cc', 'cu' and 'cuh'). |
Revision as of 06:38, 20 October 2015
cpplint or cpplint.py is an open source lint-like tool developed by Google, designed to ensure that C++ code conforms to Google's coding style guides.
Therefore cpplint implements what Google considers to be "best practices" in C++ coding. The script cpplint.py reads source code files and flags deviations from the style guide. It also identifies syntax errors. It is rules based, and uses a number of heuristics to identify bad code.[1]
cpplint.py suffers from both false positives and false negatives.
False positives can be eliminated by tagging lines with // NOLINT
[2] (or
// NOLINT(rule)
to suppress only the incriminated rule
category).
Moreover rules can be fine-grained selected using the options --verbose
and --filter
.
Line length rule can be configured with option --linelength
and file extensions can be configured with --extensions
(by default: 'h', 'cpp', 'cc', 'cu' and 'cuh').
The options can be stored in a configuration file CPPLINT.cfg
.
cpplint is implemented as Python script.[3] cpplint is distributed under the 3 clause BSD license.
References
- ^ Dutko, Adam. "THE RELATIONAL DATABASE: A NEW STATIC ANALYSIS TOOL?" (PDF).
- ^ Weinberger, Benjy. "Google C++ Style Guide, section cpplint".
- ^ "GIT URL for cpplint.py".
{{cite web}}
:|first=
has generic name (help);|first=
missing|last=
(help)