dsp-site/wiki/Prog/Development/Статический анализ кода.md
2019-04-24 17:17:12 +03:00

2.7 KiB
Raw Blame History

title category tags summary
Статический анализ кода Программирование программирование, отладка, cppcheck, iwyu, clang-tidy, cpplint, clazy,

Checks: '-, clang-diagnostic-, readability-, modernize-, cppcoreguidelines-, google-, bugprone-*' CheckOptions:

  • key: readability-identifier-naming.ClassCase value: CamelCase
  • key: readability-identifier-naming.ClassMemberCase value: camelBack ...

Пример файла `.clang-tidy`, в котором перечислены все правила для проверки
именования идентификаторов приведён [здесь](https://git.246060.ru/f1x1t/clang-tidy-readability-identifier-naming).


### CppCheck

Установка:

```sh
sudo apt-get install cppcheck

Использование:

cmake "-DCMAKE_CXX_CPPCHECK=/usr/bin/cppcheck;--std=c++11" path/to/source

This will run /usr/bin/cppcheck;std=c++11″ source=/path/to/source/file.cxx on each c++ file in the project being built.

CppLint

Установка:

sudo apt-get install python3-cpplint

Использование:

cmake "-DCMAKE_CXX_CPPLINT=/usr/bin/cpplint;--linelength=79" path/to/source
make -j24 2>&1 1>/dev/null | ../cpplint2tasks.pl > 222.tasks

This will run /usr/local/bin/cpplint linelength=79 on each c++ file in the project being built.

IWYU

Установка:

sudo apt-get install iwyu

Использование:

cmake "-DCMAKE_CXX_INCLUDE_WHAT_YOU_USE=/usr/bin/iwyu;--transitive_includes_only" ..

This will run /usr/bin/iwyu transitive_includes_only on each c++ file in the project being built.

LWYU

cmake -DCMAKE_LINK_WHAT_YOU_USE=TRUE ..

Clazy

Установка:

sudo apt-get install clazy clang-6.0

Использование:

CLAZY_CHECKS=level2 cmake -DCMAKE_CXX_COMPILER=clazy ..
CLANGXX=clang++-6.0 make

PVS-Studio