Elevator Pitch
Só verificar se o build está verde para saber que a sua entrega tem qualidade é suficiente? Além de packages, alguns serviços vêm surgindo se propondo a monitorar a “qualidade” do software, não confiando apenas em testes automatizados.
Como se define qualidade? O que torna um código “bom”?
Description
Já faz um tempo que ferramentas de Integração Contínua e CI-como-serviço se tornaram um requisito para qualquer projeto que queira alguma garantia que as funcionalidades existentes funcionam ou que um bug foi devidamente corrigido. Configurar qualquer uma dessas ferramentas é rápido e fácil, então verificar cada commit/pull request/merge request acabou sendo crucial na tarefa de ajudar times à ficar de olho na suite de testes.
Mas será que é suficiente só verificar se o build está verde para saber que a sua entrega tem qualidade? Além de packages, algumas “métricas-como-serviços” vêm surgindo, se propondo a monitorar a “qualidade” do software, não confiando apenas em testes automatizados.
Mas como se define qualidade? O que torna um código “bom”?
Devemos apenas medir a coberatura de testes e rodar ferramentas de análise estática ou sintática?
Quais métricas são mais importante para medir a qualidade de código do projeto que você trabalha? E como analisar a nossa codebase Go?
Nessa talk irei cobrir algumas métricas agnósticas à linguagem de programação como tipos de Cobertura, Complexidade e Acoplamento e um tour por alguns linters utilizados em cada subcategoria.