Leo Silva Leonardo Murta. Agenda O que é Introdução Arquitetura Características O Ecossistema...

18
Leo Silva Leonardo Murta

Transcript of Leo Silva Leonardo Murta. Agenda O que é Introdução Arquitetura Características O Ecossistema...

Page 1: Leo Silva Leonardo Murta. Agenda O que é Introdução Arquitetura Características O Ecossistema Sonar Demonstração Conclusão.

Leo SilvaLeonardo Murta

Page 2: Leo Silva Leonardo Murta. Agenda O que é Introdução Arquitetura Características O Ecossistema Sonar Demonstração Conclusão.

Agenda

• O que é• Introdução• Arquitetura• Características• O Ecossistema Sonar• Demonstração• Conclusão

Page 3: 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.

Page 4: Leo Silva Leonardo Murta. Agenda O que é Introdução Arquitetura Características O Ecossistema Sonar Demonstração Conclusã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

Page 5: Leo Silva Leonardo Murta. Agenda O que é Introdução Arquitetura Características O Ecossistema Sonar Demonstração Conclusão.

Introdução

• Situação– 1ª release: rápido– 2ª release: rápido

– 3ª release: rápido

– 4ª release: atrasado

• O que houve?– Conserto de bugs– Deficiência técnica

Page 6: Leo Silva Leonardo Murta. Agenda O que é Introdução Arquitetura Características O Ecossistema Sonar Demonstração Conclusão.

Introdução

• Gerenciar a qualidade do código é:– Otimizar o ROI;– Mais visibilidade;– Mais controle.

Page 7: Leo Silva Leonardo Murta. Agenda O que é Introdução Arquitetura Características O Ecossistema Sonar Demonstração Conclusão.

Introdução

Fonte: http://www.sonarsource.org/

• Cobre os 7 eixos da qualidade de código.

Page 8: Leo Silva Leonardo Murta. Agenda O que é Introdução Arquitetura Características O Ecossistema Sonar Demonstração Conclusão.

Arquitetura

Page 9: Leo Silva Leonardo Murta. Agenda O que é Introdução Arquitetura Características O Ecossistema Sonar Demonstração Conclusão.

Características

• Dashboard• Resumo de todos os projetos;• Regras de codificação;• Testes unitários;• Métricas;• OpenSource.

Page 10: Leo Silva Leonardo Murta. Agenda O que é Introdução Arquitetura Características O Ecossistema Sonar Demonstração Conclusão.

Dashboard

Page 11: Leo Silva Leonardo Murta. Agenda O que é Introdução Arquitetura Características O Ecossistema Sonar Demonstração Conclusão.

Resumo dos Projetos

Page 12: Leo Silva Leonardo Murta. Agenda O que é Introdução Arquitetura Características O Ecossistema Sonar Demonstração Conclusão.

Regras de codificação

• Utiliza o PMD, Checkstyle e FindBugs.

Page 13: Leo Silva Leonardo Murta. Agenda O que é Introdução Arquitetura Características O Ecossistema Sonar Demonstração Conclusão.

Testes Unitários

Page 14: Leo Silva Leonardo Murta. Agenda O que é Introdução Arquitetura Características O Ecossistema Sonar Demonstração Conclusão.

Métricas

Page 15: Leo Silva Leonardo Murta. Agenda O que é Introdução Arquitetura Características O Ecossistema Sonar Demonstração Conclusão.

LCOM4

• Relacionado a coesão de uma classe.

Page 16: Leo Silva Leonardo Murta. Agenda O que é Introdução Arquitetura Características O Ecossistema Sonar Demonstração Conclusão.

O Ecossistema Sonar

• 35 Plugins;• Hudson, Bamboo, Jira;• Eclipse, IDEA, Netbeans;• Várias linguagens (C, Cobol, Groovy, PHP, VB6,

.NET).

Page 17: Leo Silva Leonardo Murta. Agenda O que é Introdução Arquitetura Características O Ecossistema Sonar Demonstração Conclusão.

Demonstração

Page 18: Leo Silva Leonardo Murta. Agenda O que é Introdução Arquitetura Características O Ecossistema Sonar Demonstração Conclusã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.