Skip to content

Adicionar análise de qualidade com Sonar e usar métricas para evolução do código #230

Description

@munifgebara

Objetivo

Adicionar análise estática de qualidade com SonarQube/SonarCloud ao projeto Stella Cloud Native e usar as métricas geradas para orientar melhorias incrementais no código.

Motivação

O projeto já tem uma base relevante de commits e evolução funcional. Agora é importante criar visibilidade objetiva sobre qualidade interna, dívida técnica, duplicação, complexidade, cobertura de testes e possíveis riscos de segurança/manutenibilidade.

A intenção não é “zerar alertas” de uma vez, mas criar um baseline confiável e usar as métricas como guia para priorizar refatorações e melhorias.

Escopo

  • Configurar análise Sonar no projeto.
  • Escolher entre SonarCloud e SonarQube local, conforme viabilidade do repositório e do pipeline.
  • Integrar a análise ao GitHub Actions.
  • Versionar a configuração necessária, por exemplo sonar-project.properties ou configuração Maven/Gradle equivalente.
  • Coletar um baseline inicial das métricas.
  • Documentar os principais achados.
  • Criar issues derivadas para correções relevantes.
  • Definir critérios mínimos de qualidade para PRs futuros.

Métricas mínimas a acompanhar

  • Bugs.
  • Vulnerabilities.
  • Security Hotspots.
  • Code Smells.
  • Duplicação de código.
  • Cobertura de testes.
  • Complexidade ciclomática/cognitiva.
  • Maintainability rating.
  • Reliability rating.
  • Security rating.

Tarefas sugeridas

  • Verificar estrutura do projeto e ferramenta de build usada no backend Java.
  • Escolher SonarCloud ou SonarQube local.
  • Criar configuração Sonar adequada ao projeto.
  • Adicionar execução da análise ao GitHub Actions.
  • Configurar token/secret necessário no GitHub, se aplicável.
  • Incluir relatório de cobertura de testes na análise, se já houver testes automatizados.
  • Gerar baseline inicial das métricas.
  • Registrar um relatório curto em docs/qualidade/sonar-baseline.md ou equivalente.
  • Abrir issues derivadas para problemas relevantes encontrados.
  • Definir um Quality Gate mínimo para evolução futura.

Critérios de aceite

  • A análise Sonar roda de forma reproduzível, localmente ou no CI.
  • O repositório possui configuração versionada para a análise.
  • O GitHub Actions executa a análise ou há documentação clara explicando o motivo de não executar automaticamente.
  • Existe um baseline inicial com as principais métricas.
  • Os principais problemas encontrados foram documentados e priorizados.
  • Há recomendação objetiva de próximos passos para reduzir dívida técnica sem gerar refatorações desnecessárias.

Observações

Como o projeto é cloud native, a análise deve priorizar pontos que impactam manutenção, segurança e evolução contínua: código duplicado, classes muito complexas, endpoints/controladores inchados, validações frágeis, baixo isolamento de responsabilidades e ausência de testes em fluxos críticos.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions