Guia para escrever Código C++
Guia para escrever Código C++
Este guia foi baseado no excelente vlog C++ Weekly with Jason Turner:
Para escrever um bom código em C++ precisamos o auxílio de algumas ferramentas
Ambiente para desenvolvimento contínuo:
- github
- gitlab
Utilizar quantos compiladores forem possíveis
- GCC
- Clang
- MSCV (cl.exe)
- clang-cl.exe
Compiladores diferentes fornecem diferentes warnings
Um framework de teste
- doctest
- catch2
- gtest
- boosttest
Análise de Teste de cobertura ( e relatório)
Idealmente conectado ao seu ambiente de desenvolvimento contínuo.
- coveralls
- codecov.io (gratuito para projetos Open Source)
Tanto quanto for possível de análise estática
- pelo menos
-Wall -Wextra -Wshadow -Wconversion -Wpedantic -Werror(GCC/Clang) ou/W4 /WX(VS) - gcc -fanalizer
- cl.exe /analyze
- cppcjeck
- clang-tidy
- PVS Studio
- Sonar
Análise em tempo de execução durante testes
- Address Sanitizer (ferramente que detecta erros de corrupção de memória durante a execução de programas)
- Sanitizer de comportamento indefinido
- Sanitizer de memória
- Sanitizer de Thread
- DrMemory
- valgrind
- Debug Checked Iterators
Teste fuzz
- Ferramenta que gera entrada aleatória para sua API
- Deve ser utilizada com a análise em tempo de execução