Cpplint
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.
Developer(s) | |
---|---|
Repository | github |
Written in | Python |
Type | Static program analysis tool |
License | 3-clause BSD license |
Website | google |
Therefore cpplint implements what Google considers 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').
Some options can be stored in a configuration file CPPLINT.cfg
.
cpplint is implemented as a Python script.[3] It is distributed under the 3 clause BSD license.
References
- Dutko, Adam M. (2011). The Relational Database: a New Static Analysis Tool? (PDF) (Master of Science). Cleveland State University. p. 20. ISSN 2572-3480. OCLC 750403495. Archived from the original on 18 May 2018.
- Weinberger, Benjy. "Google C++ Style Guide, section cpplint".
- Google. "GIT URL for cpplint.py".