Sonarqube

507 visualizações

Publicada em

Palestra no DevOpsSummitBrasil

Publicada em: Software
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
507
No SlideShare
0
A partir de incorporações
0
Número de incorporações
4
Ações
Compartilhamentos
0
Downloads
12
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Sonarqube

  1. 1. Sonarqube Melhorando a qualidade do seu código Carlos dos Santos TRILHA | DESENVOLVIMENTO MODERNO @cdssoftware www.carloscds.net
  2. 2. Quem sou eu ?  Mais de 25 anos de experiência no desenvolvimento de software  Trabalha com tecnologia Microsoft desde 2003  Fez diversos projetos para Client, Web e Mobilidade  Responsável por Pesquisa e Desenvolvimento na CDS Informática  Microsoft MVP C# desde 2008  MCPD, MCTS, MCT  Professional Scrum Developer, Professional Scrum Master  Advisory Council Member Top Award 2012  Palestrante em diversos eventos pelo Brasil  Empresa ganhadora do prêmio MPE Brasil Nacional  Fundador do projeto open source CodeCracker: www.github.com/code-cracker  Mantenedor do projeto open source BoletoNet: www.github.com/boletonet
  3. 3. • Qualidade do código (o quê, por quê e quando) • Os 7 eixos da qualidade e os Débitos Técnicos • O que é o Sonarqube ? • Como integrar ao seu ambiente ? • Demo Visão geral
  4. 4. O que é qualidade do código ?
  5. 5. • O código fonte é o coração do sistema, precisa ser cuidado • Na maior parte do tempo os desenvolvedores estão fazendo manutenção em algum código, e muito provavelmente feito por outra pessoa • Na criação de um código novo, precisamos de padrões • Você não melhora se não consegue medir !!! • Conhece a teoria das janelas quebradas ? Por que medir ?
  6. 6. Teoria das Janelas Quebradas
  7. 7. • Continuamente, diariamente, semanalmente... • A partir do primeiro dia do seu projeto • Assim você terá um histórico completo da evolução • Prevenção é sempre melhor • Priorizar e planejar Quando você deveria medir ?
  8. 8. • Não somente números abstratos... • Quantas linhas, quantas tarefas, quantos bugs... • Precisamos medir a qualidade, manutenibilidade! • Crie seus indicadores, seu SLA (meta) do desenvolvimento • Vamos medir a evolução do código através do tempo • Vamos medir a eficiência, a padronização O que você deveria medir ?
  9. 9. Os 7 eixos da qualidade Arquitetura & Design Comentários Bugs potenciais Testes Unitários Códigos duplicados Regras de codificação Complexidade Débito Técnico
  10. 10. “Se o débito cresce o bastante, eventualmente a empresa gastará mais consertando estes débitos do que investindo em incrementar o valor dos seus outros ativos” Steve McConnell (autor de Code Complete) O débito técnico
  11. 11. • Plataforma de Qualidade do Código • Gerenciamento de débito técnico • Ferramenta Free & Open Source • Alguns plug-ins são pagos • Gerencia indicadores de qualidade do código • Monitora e ajuda a melhorar os 7 eixos da qualidade • Promove a Inspeção contínua... • Cria um repositório de débitos técnicos • Centraliza os problemas a serem resolvidos! O que é o Sonarqube ?
  12. 12. Este é o seu código fonte quando você não paga seu débito técnico
  13. 13. • Analisa seu código (análise estática) • Por demanda ou integrado ao seu Build • Calcula centenas de métricas, em várias linguagens • Organiza e classifica os dados analisados, criando indicadores • Mostra os resultados em dashboards web Como ele funciona ?
  14. 14. Análise Total do Projeto – Linha do Tempo
  15. 15. Muitos, muitos plugins LANGUAGES DEV TOOLS http://docs.sonarqube.org/display/PLUG/Plugin+Library INTEGRATION AUTHENTIFICATION & AUTHORIZATION GOVERNANCE VIZUALIZATION & REPORTING ADDITIONAL METRICS
  16. 16. Regras totalmente configuráveis
  17. 17. • Sonarqube server • Pode ser instalado on-prem com opção de autenticação por AD ou não • Como uma VM no Azure • Baseado em Java + Banco de Dados (SQL Server / MySql) • VS Team Services e TFS 2015 U1+ • Como tarefas do Build •TFS 2013, TFS 2015 RTM+ • Com script pre-build e post-test, com build Xaml, ou linha de commando (TFS 2015) • O agente precisa do Java, VS IDE e MSBuild.SonarQube.Runner instalados Configurando o ambiente
  18. 18. • Items dentro do processo de Build Como ele se integra - TFS
  19. 19. Como ele se integra - TFS
  20. 20. • Sonarqube Scanners • Você executa sob demanda (na linha de comando) Como ele se integra – Scanners
  21. 21. • Integrado ao ambiente de desenvolvimento Como ele se Integra - Sonar Lint
  22. 22. Vamos a prática! Demonstração
  23. 23. • Identifique e reduza seus débitos técnicos • (limpe a cozinha todos os dias) • Comprometa os desenvolvedores já no início do projeto • Compromisso com a qualidade do código • Fique alerta quando os débitos técnicos estiverem além do limite • (estabeleça seu limite) Resumindo
  24. 24. •Download Sonarqube: http://www.sonarqube.org/downloads •Download Plugins: http://docs.sonarqube.org/display/PLUG/Plugin+Library •Download Lint http://www.sonarlint.org Links úteis
  25. 25. Obrigado! Carlos dos Santos CDS Informática Ltda. www.cds-software.com.br www.carloscds.net @cdssoftware

×