codeclimate-cppcheck é um mecanismo de clima de código que envolve o cppcheck. Você pode executá -lo em sua linha de comando usando a CLI climática do código ou em nossa plataforma de análise hospedada.
O CPPCHECK é uma ferramenta de análise estática para o código C/C ++.
codeclimate engines:install cppcheck para instalar o mecanismo de CPPCHECK do Código de Clima..codeclimate.yml . Veja o exemplo abaixo.codeclimate analyze . Se você pulou a etapa 2, o mecanismo CPPCHECK será instalado automaticamente neste momento, assumindo que ele seja ativado no .codeclimate.yml . Como a própria ferramenta de linha de comando cppcheck , você pode configurar vários aspectos da análise estática. No momento, as seguintes opções são suportadas em .codeclimate.yml :
check : Categorias de problemas para verificar. Por padrão, nenhuma verificação adicional está ativada. Os valores disponíveis são: all , warning , style , performance , portability , information , unusedFunction , etc. Consulte a opção --enable= cppcheck para obter mais informações.project : Use o Projeto / Solução do Visual Studio ( *.vcxproj / *sln ) ou Compile Database ( compile_commands.json ) para analisar arquivos, incluir caminhos, define, plataforma e indefinsas. Consulte a opção --project= cppcheck para obter mais informações.language : força cppcheck a verificar todos os arquivos como o idioma fornecido. Os valores válidos são: c , c++ . Consulte a opção --language= cppcheck para obter mais informações.stds : vários padrões de idiomas para o controle. Consulte a opção --std= cppcheck para obter mais informações.platform : especifica tipos e tamanhos específicos da plataforma. As plataformas embutidas disponíveis são: unix32 , unix64 , win32A , win32W , win64 , etc. Consulte a opção --platform= cppcheck para obter mais informações.library : Especifica os arquivos cfg da biblioteca a serem carregados. Consulte a opção --library= cppcheck para obter mais informações.jobs : Especifica o número de trabalhos para execução, consulte a opção -j <jobs> da cppcheck para obter mais informações.dump : Crie arquivos de despejo durante a execução. Consulte a opção --dump do cppcheck para obter mais informações.defines : defina símbolos pré -processadores. Consulte a opção -D da cppcheck para obter mais informações.undefines : Símbolos de pré -processador indefinidos. Consulte a opção -U do cppcheck para obter mais informações.includes : Caminhos para pesquisa incluem arquivos. O primeiro caminho dado é pesquisado primeiro por arquivos de cabeçalho contidos. Se os caminhos forem relativos aos arquivos de origem, isso não é necessário. Consulte a opção -I da cppcheck para obter mais informações.max_configs : Número máximo de configurações para verificar um arquivo antes de ignorá -lo. O padrão é 12. max_configs também pode ser definido para force , que força cppcheck a verificar todas as configurações. Consulte as opções --max-configs= e --force Opções do cppcheck para obter mais informações.inconclusive : permita que os relatórios não sejam inconclusivos. Consulte a opção --inconclusive do cppcheck para obter mais informações.suppressions-list : suprimir avisos listados no arquivo. Consulte a opção --suppressions-list do cppcheck para obter mais informações.inline-suppr : Permitir supressão de avisos com comentários embutidos, por exemplo: // cppcheck-suppress arrayIndexOutOfBounds . Consulte a opção cppcheck --inline-suppr obter mais informaçõesOpções adicionais podem ser suportadas posteriormente.
Um exemplo .codeclimate.yml arquivo:
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 Para obter ajuda com o CPPCHECK, consulte a documentação deles.
Se você estiver enfrentando um problema climático de código, examine primeiro os problemas do Github deste projeto, pois sua pergunta já pode ter sido coberta. Caso contrário, vá em frente e abra um bilhete de suporte conosco.