From 09fb3f3d136a4d7293831822487888f313b76307 Mon Sep 17 00:00:00 2001 From: Andrey Astafyev Date: Wed, 24 Apr 2019 17:17:12 +0300 Subject: [PATCH] Text --- .../Development/Статический анализ кода.md | 28 +++++++++++++++++-- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/wiki/Prog/Development/Статический анализ кода.md b/wiki/Prog/Development/Статический анализ кода.md index 7820c99..a4a00fa 100644 --- a/wiki/Prog/Development/Статический анализ кода.md +++ b/wiki/Prog/Development/Статический анализ кода.md @@ -7,8 +7,10 @@ summary: ## Общее описание +Ниже приведены утилиты для проверки кода на C++ и примеры их настройки и использования +совместно с [CMake](https://cmake.org/). -### clang-tidy +### [clang-tidy](http://clang.llvm.org/extra/clang-tidy/) Установка: @@ -19,11 +21,31 @@ sudo apt-get install clang-tidy-6.0 Использование: ```sh -cmake "-DCMAKE_CXX_CLANG_TIDY=/usr/bin/clang-tidy-6.0;-checks=*" path/to/source +cmake "-DCMAKE_CXX_CLANG_TIDY=/usr/bin/clang-tidy-6.0" path/to/source ``` +В каталоге проекта нужно создать файл `.clang-tidy` в формате YAML со списком +выполняемых проверок. Например: -This will run `/usr/bin/clang-tidy-6.0 -checks=*` on each of the C++ source files in the project being built. +```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