PaperCall is shutting down on August 31, 2026. Existing events and submissions will remain available until then. New events can no longer be created.

Analisando qualidade de código com Análise Estática e Linters

By Weverton do Couto Timoteo

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.