Cpplint

From HandWiki

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 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.

See also

References

  1. 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.
  2. Weinberger, Benjy. "Google C++ Style Guide, section cpplint". https://google.github.io/styleguide/cppguide.html#cpplint. 
  3. Google. "GIT URL for cpplint.py". https://github.com/google/styleguide/tree/gh-pages/cpplint.