25
Sonarqube Melhorando a qualidade do seu código Carlos dos Santos P&D | CDS Informática Ltda. TRILHA | DESENVOLVIMENTO MODERNO @cdssoftware www.carloscds.net

Sonarqube

  • Upload
    cds

  • View
    544

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Sonarqube

SonarqubeMelhorando a qualidade do seu código

Carlos dos SantosP&D | CDS Informática Ltda.

TRILHA | DESENVOLVIMENTO MODERNO

@cdssoftware www.carloscds.net

Page 2: Sonarqube

Quem sou eu ?Mais de 25 anos de experiência no desenvolvimento de software

Trabalha com tecnologia Microsoft desde 2003Fez 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

Page 3: Sonarqube

• 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

Page 4: Sonarqube

O que é qualidade do código ?

Page 5: Sonarqube

• 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 ?

Page 6: Sonarqube

Teoria das Janelas Quebradas

Page 7: Sonarqube

• 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 ?

Page 8: Sonarqube

• 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 ?

Page 9: Sonarqube

Os 7 eixos da qualidadeArquitetura & Design

Comentários

Bugs potenciais

Testes Unitários

Códigos duplicados

Regras de codificação

Complexidade

Débito Técnico

Page 10: Sonarqube

“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

Page 11: Sonarqube

• 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 ?

Page 12: Sonarqube

Este é o seu código fontequando você não paga

seu débito técnico

Page 13: Sonarqube

• 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 ?

Page 14: Sonarqube

Análise Total do Projeto – Linha do Tempo

Page 15: Sonarqube

Muitos, muitos pluginsLANGUAGES

DEV TOOLS

http://docs.sonarqube.org/display/PLUG/Plugin+Library

INTEGRATION

AUTHENTIFICATION &AUTHORIZATION

GOVERNANCE

VIZUALIZATION & REPORTING

ADDITIONAL METRICS

Page 16: Sonarqube

Regras totalmente configuráveis

Page 17: Sonarqube

• 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

Page 18: Sonarqube

• Items dentro do processo de Build

Como ele se integra - TFS

Page 19: Sonarqube

Como ele se integra - TFS

Page 20: Sonarqube

• Sonarqube Scanners• Você executa sob demanda (na linha de comando)

Como ele se integra – Scanners

Page 21: Sonarqube

• Integrado ao ambiente de desenvolvimento

Como ele se Integra - Sonar Lint

Page 22: Sonarqube

Vamos a prática!

Demonstração

Page 23: Sonarqube

• 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

Page 25: Sonarqube

Obrigado! Carlos dos SantosCDS Informática Ltda.www.cds-software.com.br www.carloscds.net@cdssoftware