Leo Silva Leonardo Murta
Agenda O que é Introdução Arquitetura Características O Ecossistema Sonar Demonstração Conclusão
O que é É uma plataforma open source usada por desenvolvedores de software para gerenciar a qualidade de código. Foi desenvolvido com o principal objetivo de fazer a qualidade de código acessível a todos com um mínimo de esforço.
Introdução A well-written program is a program where the cost of implementing a feature is constant throughout the program's lifetime (Itay Maman) A badly written program is a program where the cost of implementing a feature grows throughout time
Introdução Situação O que houve? 1ª release: rápido 2ª release: rápido 4ª release: atrasado O que houve? Conserto de bugs Deficiência técnica
Introdução Gerenciar a qualidade do código é: Otimizar o ROI; Mais visibilidade; Mais controle.
Introdução Cobre os 7 eixos da qualidade de código. Fonte: http://www.sonarsource.org/
Arquitetura
Características Dashboard Resumo de todos os projetos; Regras de codificação; Testes unitários; Métricas; OpenSource.
Dashboard
Resumo dos Projetos
Regras de codificação Utiliza o PMD, Checkstyle e FindBugs.
Testes Unitários
Métricas Número de linhas API Comentários Linhas e blocos duplicados Densidade dos comentários Statements Pacotes Complexidade Classes Testes unitários Métodos Métodos acessores
LCOM4 Relacionado a coesão de uma classe.
O Ecossistema Sonar 35 Plugins; Hudson, Bamboo, Jira; Eclipse, IDEA, Netbeans; Várias linguagens (C, Cobol, Groovy, PHP, VB6, .NET).
Demonstração
Conclusão Excelente ferramenta de monitoramento; Ajuda a manter a qualidade do código ao longo do desenvolvimento; Incentiva o refactoring; Melhor que o svn site; Capacita desenvolvedores e os motiva para melhorar a pontuação; Produto mais confiável e de fácil manutenção.