Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Sonarqube

1,240 views

Published on

Palestra no DevOpsSummitBrasil

Published in: Software
  • Be the first to comment

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

×