leo silva leonardo murta. agenda o que é introdução arquitetura características o ecossistema...

18
Leo Silva Leonardo Murta

Upload: internet

Post on 17-Apr-2015

106 views

Category:

Documents


0 download

TRANSCRIPT

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.