asciidoc вместо markdown

This commit is contained in:
2019-06-02 00:08:41 +03:00
parent 71dd5de667
commit 82ae133e81
89 changed files with 3514 additions and 3122 deletions

View File

@ -0,0 +1,138 @@
= Статический анализ кода
:category: Программирование
:tags: программирование, отладка, cppcheck, iwyu, clang-tidy, cpplint, clazy,
== Общее описание
Ниже приведены утилиты для проверки кода на C++ и примеры их настройки и
использования совместно с https://cmake.org/[CMake].
=== http://clang.llvm.org/extra/clang-tidy/[clang-tidy]
Установка:
[source,sh]
----
sudo apt-get install clang-tidy-6.0
----
Использование:
[source,sh]
----
cmake "-DCMAKE_CXX_CLANG_TIDY=/usr/bin/clang-tidy-6.0" path/to/source
----
В каталоге проекта нужно создать файл `.clang-tidy` в формате YAML со
списком выполняемых проверок. Например:
[source,yaml]
----
---
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
Установка:
[source,sh]
----
sudo apt-get install cppcheck
----
Использование:
[source,sh]
----
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
Установка:
[source,sh]
----
sudo apt-get install python3-cpplint
----
Использование:
[source,sh]
----
cmake "-DCMAKE_CXX_CPPLINT=/usr/bin/cpplint;--linelength=79" path/to/source
----
[source,sh]
----
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
Установка:
[source,sh]
----
sudo apt-get install iwyu
----
Использование:
[source,sh]
----
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
[source,sh]
----
cmake -DCMAKE_LINK_WHAT_YOU_USE=TRUE ..
----
=== Clazy
Установка:
[source,sh]
----
sudo apt-get install clazy clang-6.0
----
Использование:
[source,sh]
----
CLAZY_CHECKS=level2 cmake -DCMAKE_CXX_COMPILER=clazy ..
CLANGXX=clang++-6.0 make
----
=== PVS-Studio