codeclimate-cppcheck -это кодовый климат-двигатель, который завершает CPPCHECK. Вы можете запустить его в своей командной строке, используя CODE CLIMAT CLI или на нашей хостированной платформе анализа.
CPPCHECK - это статический инструмент анализа для кода C/C ++.
codeclimate engines:install cppcheck для установки двигателя CODE CPPCHECK..codeclimate.yml . См. Пример ниже.codeclimate analyze . Если вы пропустили шаг 2, двигатель CPPCHECK будет автоматически установлен на этом этапе, предполагая, что он включен в .codeclimate.yml . Как и сам инструмент командной строки cppcheck , вы можете настроить различные аспекты статического анализа. Прямо сейчас, следующие варианты поддерживаются в .codeclimate.yml :
check : выпуска категории для проверки. По умолчанию дополнительные проверки не включены. Доступными значениями: all , warning , style , performance , portability , information , unusedFunction и т. Д. См. Опцию --enable= cppcheck для получения дополнительной информации.project : Используйте проект / решение Visual Studio Project ( *.vcxproj / *sln ) или базу данных компиляции ( compile_commands.json ) для анализа, включите пути, определение, платформу и Undefines. Обратитесь к --project= вариант cppcheck для получения дополнительной информации.language : заставляет cppcheck проверять все файлы в качестве данного языка. Допустимые значения: c , c++ . Обратитесь к опции --language= cppcheck для получения дополнительной информации.stds : несколько языковых стандартов для проверки. Обратитесь к опции --std= cppcheck для получения дополнительной информации.platform : указывает конкретные типы и размеры платформы. Доступными встроенными платформами: unix32 cppcheck unix64 , win32A , win32W , win64 и т --platform= Д. См.library : указывает библиотеку cfg -файлы для загрузки. Обратитесь к опции --library= cppcheck для получения дополнительной информации.jobs : указывает количество заданий для выполнения, см. Вп -j <jobs> вариант cppcheck для получения дополнительной информации.dump : Создайте файлы дамп во время выполнения. Обратитесь к опции --dump cppcheck для получения дополнительной информации.defines : определить символы препроцессора. Обратитесь к опции -D cppcheck для получения дополнительной информации.undefines : Undefine препроцессорные символы. Обратитесь к опции -U cppcheck для получения дополнительной информации.includes : пути для поиска включает файлы. Первый данный путь в первую очередь искал файлы заголовков. Если пути относятся к исходным файлам, это не требуется. Обратитесь к опции -I cppcheck для получения дополнительной информации.max_configs : максимальное количество конфигураций для проверки файла, прежде чем пропустить его. По умолчанию 12. max_configs также может быть установлен на force , что заставляет cppcheck проверить все конфигурации. Обратитесь к параметрам --max-configs= и --force cppcheck для получения дополнительной информации.inconclusive : разрешите проблемы отчетности, которые не являются неубедительными. См. Для получения дополнительной информации --inconclusive Option cppcheck .suppressions-list : подавляют предупреждения, перечисленные в файле. Обратитесь к варианту cppcheck --suppressions-list для получения дополнительной информации.inline-suppr : разрешить подавление предупреждений с помощью встроенных комментариев, например: // cppcheck-suppress arrayIndexOutOfBounds . Обратитесь к варианту cppcheck --inline-suppr для получения дополнительной информацииДополнительные варианты могут быть поддержаны позже.
Пример .codeclimate.yml файл:
version : " 2 "
plugins :
cppcheck :
enabled : true
config :
check : all
project : compile_commands.json
language : c++
stds :
- c++11
platform : unix64
defines :
- " DEBUG=1 "
- " __cplusplus "
undefines :
- " DEBUG "
includes :
- include/
max_configs : 42
inconclusive : false
dump : false
dump : false
suppressions-list : .cppcheck-suppressions
inline-suppr : true
jobs : 4
library : googletest Чтобы получить помощь с CPPCHECK, ознакомьтесь с их документацией.
Если вы сталкиваетесь с проблемой климата кода, сначала посмотрите на проблемы с GitHub этого проекта, так как ваш вопрос, возможно, уже был покрыт. Если нет, иди и откройте с нами билет на поддержку.