SlideShare uma empresa Scribd logo
Métricas de código
Paulo Ortins
pauloortins@oncedev.com
@pauloortins
Paulo Ortins
• Sócio e programador na OnceDev
• Atuo em comunidades desde 2011
• Frequentador assíduo de eventos, dojos, bate-papos e etc.
• Mestrando na UFBA (Engenharia de Software/Mineração de
Repositórios de Software)
Pra que serve o Google
Analytics?
Google Analytics
Google Analytics
• Série de métricas
• Usuários
• Perfis de acesso
• Tempo de Permanência
• Fluxo de Navegação
• Empresas utilizam para auxiliar na tomada de decisões
O caso do Walmart
Business Intelligence
E na Engenharia de Software?
• Onde coloco esse trecho de código?
• Devo criar uma classe nova?
• Quando devo refatorar o meu código?
• Quais as classes merecem a maior atenção?
Desenvolvendo um software
Início do desenvolvimento
+ Decisões ruins
+ Decisões ruins
+ Decisões ruins
Fim do Projeto
Leis de Evolução do Software
• Mudança Contínua
• Complexidade Crescente
• Crescimento Contínuo
• Qualidade Decrescente
Software Intelligence
• Business Intelligence para projetos de software
• Uso de dados gerados durante o processo de desenvolvimento
para auxiliar a tomada de decisões
Fontes de Dados
• Bug trackers
• Listas de emails
• Repositórios de software
• Rastros de execução
Métricas de Código
Como medir a qualidade do
código?
• Quando um código é bom?
• Quando um código deve ser refatorado?
• Quando um código deve ser melhor testado?
Linhas de Código
• Já foi/é utilizada de diversas formas
• Complexidade/Tamanho
• Produtividade
• Qual o número de linhas que uma classe deve ter ? E um
método ?
• 10? 20? 50? 2000 ?
Número de Mudanças
• Número de vezes que um determinado código é alterado ao
longo do ciclo de vida do projeto
• O que isso pode nos dizer?
• Instabilidade?
• Importância?
• Uso?
Complexidade Ciclomática
• Também conhecido como número ciclomático ou
complexidade de McCabe
• Número de possíveis caminhos de execução que um
determinado trecho de código possui
Exemplo – Complexidade
Ciclomática
Exemplo – Complexidade
Ciclomática
Exemplo – Complexidade
Ciclomática
Complexidade Ciclomática
• Recomenda-se manter a CC de um código o menor possível
• Caso um código possua uma CC alta é desejável que esse
código seja refatorado
Coesão
• O que é coesão?
• LCOM (Lack of Cohesion of Methods)
• Calcula a ausência de similaridade entre métodos
• Número de pares de métodos que não compartilham variáveis –
Número de pares de métodos que compartilham
• Quanto maior a LCOM, pior é a coesão de uma classe
Acoplamento
• O que é Acoplamento?
• Acoplamento Aferente
• Acoplamento Eferente
• O acoplamento é sempre ruim?
Linhas de Comentários
• Quantas linhas de comentários deve ter em um código?
• Comentar código é uma boa prática ou uma má prática?
Cobertura de Código
• Qual o percentual do nosso código que está sendo coberto
por testes?
• Será que todo código deve estar 100% coberto por testes?
Métricas devem ser
combinadas
• Complexidade Ciclomática + Linhas de Código
• Código grande e complexo
• CC + Linhas de Código + Poucas mudanças
• Código grande e complexo mas que está estável
Métricas devem ser
combinadas
• Acoplamento Aferente + Muitas mudanças + Baixa cobertura
de testes
• Você vai ser caçado por outros desenvolvedores em breve.
• Complexidade Ciclomática + Linhas de Código + Muitas
mudanças + Baixa Cobertura + Acoplamento Aferente
• O fim do mundo está próximo
Visualização de Software
• A extração de métricas, por si só, não é suficiente
• Seres humanos não são bons em extrair informações a partir
de dados brutos
Visualização de Software
Visualização de Software
Code City
Treemap
Pack View
Color Highlighting
Ferramentas
• Visualizações: Web, Desktop ou Nenhuma
• Linguagens Suportadas
• Suporte a controles de versão
• Métricas por Desenvolvedor
Sonar
NDepend
Code Climate
Estado Atual
• Apesar das primeiras métricas de software tenham sido
propostas nos anos 70, seu uso ainda é pequeno
• A NASA, Motorola, HP e Boeing possuem casos de sucesso
Estado Atual
• Diversas ferramentas são propostas na academia, porém
poucas acabam chegando a indústria
• Como provar o valor disso ?
Obrigado
• Perguntas ?
• Meus contatos:
• @pauloortins
• pauloortins@oncedev.com
• Paulo César Ortins Brito

Mais conteúdo relacionado

Mais procurados

Testes De Software - Uma Visão Geral
Testes De Software - Uma Visão GeralTestes De Software - Uma Visão Geral
Testes De Software - Uma Visão Geral
paulo peres
 
Noções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoNoções em teste de software e introdução a automação
Noções em teste de software e introdução a automação
Sandy Maciel
 
Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade
Camilo Ribeiro
 
Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...
Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...
Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...
Vanilton Pinheiro
 
Validação e Testes de software
Validação e Testes de softwareValidação e Testes de software
Validação e Testes de software
Rondinelli Mesquita
 
Métricas e Visualização de Código-fonte
Métricas e Visualização de Código-fonteMétricas e Visualização de Código-fonte
Métricas e Visualização de Código-fonte
Marcilio Valois
 
Testes de software
Testes de softwareTestes de software
Testes de software
Fernando Palma
 
Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)
Vanilton Pinheiro
 
Final Project (2013): Test-Driven Development applied on web applications
Final Project (2013): Test-Driven Development applied on web applicationsFinal Project (2013): Test-Driven Development applied on web applications
Final Project (2013): Test-Driven Development applied on web applications
Luiz Henrique
 
Tees Final
Tees FinalTees Final
Tees Final
Marcus Oliveira
 
AppTesting
AppTestingAppTesting
AppTesting
lucyverde
 
Aula - Teste de Software
Aula - Teste de SoftwareAula - Teste de Software
Aula - Teste de Software
Mauricio Cesar Santos da Purificação
 
Apresentação tcc - Leticia Moretti e Rafael Azevedo
Apresentação tcc - Leticia Moretti e Rafael AzevedoApresentação tcc - Leticia Moretti e Rafael Azevedo
Apresentação tcc - Leticia Moretti e Rafael Azevedo
lemorettiribeiro
 
Introdução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IIntrodução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade I
João Lourenço
 
Técnicas de Teste
Técnicas de TesteTécnicas de Teste
Técnicas de Teste
Camilo Ribeiro
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
Sérgio Souza Costa
 
DevQA: Como medir qualidade de código ?
DevQA: Como medir qualidade de código ?DevQA: Como medir qualidade de código ?
DevQA: Como medir qualidade de código ?
Kamilla Queiroz Xavier
 
Eng.ª do Software - 10. Testes de software
Eng.ª do Software - 10. Testes de softwareEng.ª do Software - 10. Testes de software
Eng.ª do Software - 10. Testes de software
Manuel Menezes de Sequeira
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
Wagner Zaparoli
 
Eng.ª do Software - 9. Verificação e validação
Eng.ª do Software - 9. Verificação e validaçãoEng.ª do Software - 9. Verificação e validação
Eng.ª do Software - 9. Verificação e validação
Manuel Menezes de Sequeira
 

Mais procurados (20)

Testes De Software - Uma Visão Geral
Testes De Software - Uma Visão GeralTestes De Software - Uma Visão Geral
Testes De Software - Uma Visão Geral
 
Noções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoNoções em teste de software e introdução a automação
Noções em teste de software e introdução a automação
 
Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade
 
Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...
Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...
Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...
 
Validação e Testes de software
Validação e Testes de softwareValidação e Testes de software
Validação e Testes de software
 
Métricas e Visualização de Código-fonte
Métricas e Visualização de Código-fonteMétricas e Visualização de Código-fonte
Métricas e Visualização de Código-fonte
 
Testes de software
Testes de softwareTestes de software
Testes de software
 
Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)
 
Final Project (2013): Test-Driven Development applied on web applications
Final Project (2013): Test-Driven Development applied on web applicationsFinal Project (2013): Test-Driven Development applied on web applications
Final Project (2013): Test-Driven Development applied on web applications
 
Tees Final
Tees FinalTees Final
Tees Final
 
AppTesting
AppTestingAppTesting
AppTesting
 
Aula - Teste de Software
Aula - Teste de SoftwareAula - Teste de Software
Aula - Teste de Software
 
Apresentação tcc - Leticia Moretti e Rafael Azevedo
Apresentação tcc - Leticia Moretti e Rafael AzevedoApresentação tcc - Leticia Moretti e Rafael Azevedo
Apresentação tcc - Leticia Moretti e Rafael Azevedo
 
Introdução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IIntrodução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade I
 
Técnicas de Teste
Técnicas de TesteTécnicas de Teste
Técnicas de Teste
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 
DevQA: Como medir qualidade de código ?
DevQA: Como medir qualidade de código ?DevQA: Como medir qualidade de código ?
DevQA: Como medir qualidade de código ?
 
Eng.ª do Software - 10. Testes de software
Eng.ª do Software - 10. Testes de softwareEng.ª do Software - 10. Testes de software
Eng.ª do Software - 10. Testes de software
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 
Eng.ª do Software - 9. Verificação e validação
Eng.ª do Software - 9. Verificação e validaçãoEng.ª do Software - 9. Verificação e validação
Eng.ª do Software - 9. Verificação e validação
 

Destaque

Como eu aprendi que testar software é importante?
Como eu aprendi que testar software é importante?Como eu aprendi que testar software é importante?
Como eu aprendi que testar software é importante?
Maurício Aniche
 
Você tem um xerife olhando seu código?
Você tem um xerife olhando seu código?Você tem um xerife olhando seu código?
Você tem um xerife olhando seu código?
Maurício Aniche
 
DNAD 2015 - Métricas de código, pra que te quero?
DNAD 2015 - Métricas de código, pra que te quero?DNAD 2015 - Métricas de código, pra que te quero?
DNAD 2015 - Métricas de código, pra que te quero?
Maurício Aniche
 
Proposta: Métricas e Heurísticas para Detecção de Problemas em Aplicações Web
Proposta: Métricas e Heurísticas para Detecção de Problemas em Aplicações WebProposta: Métricas e Heurísticas para Detecção de Problemas em Aplicações Web
Proposta: Métricas e Heurísticas para Detecção de Problemas em Aplicações Web
Maurício Aniche
 
Fluxo de desenvolvimento de software utilizando Git
Fluxo de desenvolvimento de software utilizando GitFluxo de desenvolvimento de software utilizando Git
Fluxo de desenvolvimento de software utilizando Git
Bruno Ricardo Siqueira
 
Git - Controle de Versões do Jeito Certo
Git - Controle de Versões do Jeito CertoGit - Controle de Versões do Jeito Certo
Git - Controle de Versões do Jeito Certo
Arthur Zapparoli
 
Testar é bom, integrar é ainda melhor
Testar é bom, integrar é ainda melhorTestar é bom, integrar é ainda melhor
Testar é bom, integrar é ainda melhor
Augusto Pascutti
 
PHP para Adultos: Clean Code e Object Calisthenics
PHP para Adultos: Clean Code e Object CalisthenicsPHP para Adultos: Clean Code e Object Calisthenics
PHP para Adultos: Clean Code e Object Calisthenics
Guilherme Blanco
 

Destaque (8)

Como eu aprendi que testar software é importante?
Como eu aprendi que testar software é importante?Como eu aprendi que testar software é importante?
Como eu aprendi que testar software é importante?
 
Você tem um xerife olhando seu código?
Você tem um xerife olhando seu código?Você tem um xerife olhando seu código?
Você tem um xerife olhando seu código?
 
DNAD 2015 - Métricas de código, pra que te quero?
DNAD 2015 - Métricas de código, pra que te quero?DNAD 2015 - Métricas de código, pra que te quero?
DNAD 2015 - Métricas de código, pra que te quero?
 
Proposta: Métricas e Heurísticas para Detecção de Problemas em Aplicações Web
Proposta: Métricas e Heurísticas para Detecção de Problemas em Aplicações WebProposta: Métricas e Heurísticas para Detecção de Problemas em Aplicações Web
Proposta: Métricas e Heurísticas para Detecção de Problemas em Aplicações Web
 
Fluxo de desenvolvimento de software utilizando Git
Fluxo de desenvolvimento de software utilizando GitFluxo de desenvolvimento de software utilizando Git
Fluxo de desenvolvimento de software utilizando Git
 
Git - Controle de Versões do Jeito Certo
Git - Controle de Versões do Jeito CertoGit - Controle de Versões do Jeito Certo
Git - Controle de Versões do Jeito Certo
 
Testar é bom, integrar é ainda melhor
Testar é bom, integrar é ainda melhorTestar é bom, integrar é ainda melhor
Testar é bom, integrar é ainda melhor
 
PHP para Adultos: Clean Code e Object Calisthenics
PHP para Adultos: Clean Code e Object CalisthenicsPHP para Adultos: Clean Code e Object Calisthenics
PHP para Adultos: Clean Code e Object Calisthenics
 

Semelhante a Métricas de Código

Aula 1 introdução à engenharia de software1 (1)
Aula 1   introdução à engenharia de software1 (1)Aula 1   introdução à engenharia de software1 (1)
Aula 1 introdução à engenharia de software1 (1)
Tiago Vizoto
 
Sonarqube
SonarqubeSonarqube
Sonarqube
CDS
 
TDD com Código Legado - "Atualizado"
TDD com Código Legado - "Atualizado"TDD com Código Legado - "Atualizado"
TDD com Código Legado - "Atualizado"
Cesar Romero
 
DevOps Summit Brasil: +10 Ferramentas para Melhorar a Qualidade do seu Software
DevOps Summit Brasil: +10 Ferramentas para Melhorar a Qualidade do seu SoftwareDevOps Summit Brasil: +10 Ferramentas para Melhorar a Qualidade do seu Software
DevOps Summit Brasil: +10 Ferramentas para Melhorar a Qualidade do seu Software
André Dias
 
jCompany X Geradores de Códigos
jCompany X Geradores de CódigosjCompany X Geradores de Códigos
jCompany X Geradores de Códigos
Powerlogic Consultoria e Sistemas
 
TDD com Código Legado
TDD com Código LegadoTDD com Código Legado
TDD com Código Legado
Cesar Romero
 
SonarQube
SonarQubeSonarQube
SonarQube
CDS
 
01 aula1 habib
01 aula1 habib01 aula1 habib
01 aula1 habib
eduardohabib
 
Sistemas Embarcados SEDCITEC 2017
Sistemas Embarcados SEDCITEC 2017Sistemas Embarcados SEDCITEC 2017
Sistemas Embarcados SEDCITEC 2017
Fernando Luiz Cola
 
Revisitando as Práticas de Engenharia Ágil
Revisitando as Práticas de Engenharia ÁgilRevisitando as Práticas de Engenharia Ágil
Revisitando as Práticas de Engenharia Ágil
Danilo Sato
 
Desenvolvendo software com qualidade e agilidade
Desenvolvendo software com qualidade e agilidadeDesenvolvendo software com qualidade e agilidade
Desenvolvendo software com qualidade e agilidade
Diogo Augusto Pereira
 
DevQA | Da zona de conforto ao comprometimento com a qualidade
DevQA | Da zona de conforto ao comprometimento com a qualidadeDevQA | Da zona de conforto ao comprometimento com a qualidade
DevQA | Da zona de conforto ao comprometimento com a qualidade
Kamilla Queiroz Xavier
 
O seu código fede e você nem sabia. Ou sabia, mas não o quanto fede!
O seu código fede e você nem sabia. Ou sabia, mas não o quanto fede!O seu código fede e você nem sabia. Ou sabia, mas não o quanto fede!
O seu código fede e você nem sabia. Ou sabia, mas não o quanto fede!
Wagner Mendes Voltz Fusca
 
Vantagens e desvantagens de uma arquitetura microservices
Vantagens e desvantagens de uma arquitetura microservicesVantagens e desvantagens de uma arquitetura microservices
Vantagens e desvantagens de uma arquitetura microservices
Fábio Rosato
 
CMS em PHP: essa briga ainda existe?
CMS em PHP: essa briga ainda existe?CMS em PHP: essa briga ainda existe?
CMS em PHP: essa briga ainda existe?
Flávio Ricardo B. Meira
 
ContextLongMethod - CBSOFT 2016 - TOOLS
ContextLongMethod - CBSOFT 2016 - TOOLSContextLongMethod - CBSOFT 2016 - TOOLS
ContextLongMethod - CBSOFT 2016 - TOOLS
Federal University of Sergipe
 
Aula 1 introducao
Aula 1   introducaoAula 1   introducao
Aula 1 introducao
licardino
 
Como automatizar Sistemas Legados utilizando ferramentas de DevOps
Como automatizar Sistemas Legados utilizando ferramentas de DevOpsComo automatizar Sistemas Legados utilizando ferramentas de DevOps
Como automatizar Sistemas Legados utilizando ferramentas de DevOps
Rafael Salerno de Oliveira
 
Procura-se: DevOps #cpbr9
Procura-se: DevOps #cpbr9Procura-se: DevOps #cpbr9
Procura-se: DevOps #cpbr9
Camilla Gomes
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao Sênior
Marcos Pereira
 

Semelhante a Métricas de Código (20)

Aula 1 introdução à engenharia de software1 (1)
Aula 1   introdução à engenharia de software1 (1)Aula 1   introdução à engenharia de software1 (1)
Aula 1 introdução à engenharia de software1 (1)
 
Sonarqube
SonarqubeSonarqube
Sonarqube
 
TDD com Código Legado - "Atualizado"
TDD com Código Legado - "Atualizado"TDD com Código Legado - "Atualizado"
TDD com Código Legado - "Atualizado"
 
DevOps Summit Brasil: +10 Ferramentas para Melhorar a Qualidade do seu Software
DevOps Summit Brasil: +10 Ferramentas para Melhorar a Qualidade do seu SoftwareDevOps Summit Brasil: +10 Ferramentas para Melhorar a Qualidade do seu Software
DevOps Summit Brasil: +10 Ferramentas para Melhorar a Qualidade do seu Software
 
jCompany X Geradores de Códigos
jCompany X Geradores de CódigosjCompany X Geradores de Códigos
jCompany X Geradores de Códigos
 
TDD com Código Legado
TDD com Código LegadoTDD com Código Legado
TDD com Código Legado
 
SonarQube
SonarQubeSonarQube
SonarQube
 
01 aula1 habib
01 aula1 habib01 aula1 habib
01 aula1 habib
 
Sistemas Embarcados SEDCITEC 2017
Sistemas Embarcados SEDCITEC 2017Sistemas Embarcados SEDCITEC 2017
Sistemas Embarcados SEDCITEC 2017
 
Revisitando as Práticas de Engenharia Ágil
Revisitando as Práticas de Engenharia ÁgilRevisitando as Práticas de Engenharia Ágil
Revisitando as Práticas de Engenharia Ágil
 
Desenvolvendo software com qualidade e agilidade
Desenvolvendo software com qualidade e agilidadeDesenvolvendo software com qualidade e agilidade
Desenvolvendo software com qualidade e agilidade
 
DevQA | Da zona de conforto ao comprometimento com a qualidade
DevQA | Da zona de conforto ao comprometimento com a qualidadeDevQA | Da zona de conforto ao comprometimento com a qualidade
DevQA | Da zona de conforto ao comprometimento com a qualidade
 
O seu código fede e você nem sabia. Ou sabia, mas não o quanto fede!
O seu código fede e você nem sabia. Ou sabia, mas não o quanto fede!O seu código fede e você nem sabia. Ou sabia, mas não o quanto fede!
O seu código fede e você nem sabia. Ou sabia, mas não o quanto fede!
 
Vantagens e desvantagens de uma arquitetura microservices
Vantagens e desvantagens de uma arquitetura microservicesVantagens e desvantagens de uma arquitetura microservices
Vantagens e desvantagens de uma arquitetura microservices
 
CMS em PHP: essa briga ainda existe?
CMS em PHP: essa briga ainda existe?CMS em PHP: essa briga ainda existe?
CMS em PHP: essa briga ainda existe?
 
ContextLongMethod - CBSOFT 2016 - TOOLS
ContextLongMethod - CBSOFT 2016 - TOOLSContextLongMethod - CBSOFT 2016 - TOOLS
ContextLongMethod - CBSOFT 2016 - TOOLS
 
Aula 1 introducao
Aula 1   introducaoAula 1   introducao
Aula 1 introducao
 
Como automatizar Sistemas Legados utilizando ferramentas de DevOps
Como automatizar Sistemas Legados utilizando ferramentas de DevOpsComo automatizar Sistemas Legados utilizando ferramentas de DevOps
Como automatizar Sistemas Legados utilizando ferramentas de DevOps
 
Procura-se: DevOps #cpbr9
Procura-se: DevOps #cpbr9Procura-se: DevOps #cpbr9
Procura-se: DevOps #cpbr9
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao Sênior
 

Mais de Paulo Cesar Ortins Brito

GDG DevFest Nordeste - Quer desenvolver aplicações mobile nativas, cross-plat...
GDG DevFest Nordeste - Quer desenvolver aplicações mobile nativas, cross-plat...GDG DevFest Nordeste - Quer desenvolver aplicações mobile nativas, cross-plat...
GDG DevFest Nordeste - Quer desenvolver aplicações mobile nativas, cross-plat...
Paulo Cesar Ortins Brito
 
Como participar de comunidades de software mudou a minha carreira e também po...
Como participar de comunidades de software mudou a minha carreira e também po...Como participar de comunidades de software mudou a minha carreira e também po...
Como participar de comunidades de software mudou a minha carreira e também po...
Paulo Cesar Ortins Brito
 
Use Xamarin.Forms and surprise your customers when develop native apps, in le...
Use Xamarin.Forms and surprise your customers when develop native apps, in le...Use Xamarin.Forms and surprise your customers when develop native apps, in le...
Use Xamarin.Forms and surprise your customers when develop native apps, in le...
Paulo Cesar Ortins Brito
 
The Developer's Conference 2015 - Florianópolis - Use o Xamarin.Forms e surpr...
The Developer's Conference 2015 - Florianópolis - Use o Xamarin.Forms e surpr...The Developer's Conference 2015 - Florianópolis - Use o Xamarin.Forms e surpr...
The Developer's Conference 2015 - Florianópolis - Use o Xamarin.Forms e surpr...
Paulo Cesar Ortins Brito
 
GDG Dev Fest Extended - Mobilidade além do smartphone
GDG Dev Fest Extended - Mobilidade além do smartphoneGDG Dev Fest Extended - Mobilidade além do smartphone
GDG Dev Fest Extended - Mobilidade além do smartphone
Paulo Cesar Ortins Brito
 
GDG Tech Talk - Quer desenvolver aplicações nativas e cross-plataforma usando...
GDG Tech Talk - Quer desenvolver aplicações nativas e cross-plataforma usando...GDG Tech Talk - Quer desenvolver aplicações nativas e cross-plataforma usando...
GDG Tech Talk - Quer desenvolver aplicações nativas e cross-plataforma usando...
Paulo Cesar Ortins Brito
 
TDC Porto Alegre 2014 - Quer desenvolver aplicações nativas e cross-plataform...
TDC Porto Alegre 2014 - Quer desenvolver aplicações nativas e cross-plataform...TDC Porto Alegre 2014 - Quer desenvolver aplicações nativas e cross-plataform...
TDC Porto Alegre 2014 - Quer desenvolver aplicações nativas e cross-plataform...
Paulo Cesar Ortins Brito
 
Semana Computação UFBA 2014 - Quer desenvolver aplicações nativas e cross-pla...
Semana Computação UFBA 2014 - Quer desenvolver aplicações nativas e cross-pla...Semana Computação UFBA 2014 - Quer desenvolver aplicações nativas e cross-pla...
Semana Computação UFBA 2014 - Quer desenvolver aplicações nativas e cross-pla...
Paulo Cesar Ortins Brito
 
Semana Computação Unifacs 2014 - Quer desenvolver aplicações nativas e cross-...
Semana Computação Unifacs 2014 - Quer desenvolver aplicações nativas e cross-...Semana Computação Unifacs 2014 - Quer desenvolver aplicações nativas e cross-...
Semana Computação Unifacs 2014 - Quer desenvolver aplicações nativas e cross-...
Paulo Cesar Ortins Brito
 
Utilizando a API do Roslyn, o novo compilador do C#
Utilizando a API do Roslyn, o novo compilador do C#Utilizando a API do Roslyn, o novo compilador do C#
Utilizando a API do Roslyn, o novo compilador do C#
Paulo Cesar Ortins Brito
 
Explicando conceitos de software usando situações do cotidiano
Explicando conceitos de software usando situações do cotidianoExplicando conceitos de software usando situações do cotidiano
Explicando conceitos de software usando situações do cotidiano
Paulo Cesar Ortins Brito
 
Mergulhando no ecossistema .NET
Mergulhando no ecossistema .NETMergulhando no ecossistema .NET
Mergulhando no ecossistema .NET
Paulo Cesar Ortins Brito
 
Tests in Javascript using Jasmine and Testacular
Tests in Javascript using Jasmine and TestacularTests in Javascript using Jasmine and Testacular
Tests in Javascript using Jasmine and Testacular
Paulo Cesar Ortins Brito
 
A vez do mobile - Dev in Bahia #3
A vez do mobile - Dev in Bahia #3A vez do mobile - Dev in Bahia #3
A vez do mobile - Dev in Bahia #3
Paulo Cesar Ortins Brito
 
SFD - C# para a comunidade
SFD - C# para a comunidadeSFD - C# para a comunidade
SFD - C# para a comunidade
Paulo Cesar Ortins Brito
 

Mais de Paulo Cesar Ortins Brito (15)

GDG DevFest Nordeste - Quer desenvolver aplicações mobile nativas, cross-plat...
GDG DevFest Nordeste - Quer desenvolver aplicações mobile nativas, cross-plat...GDG DevFest Nordeste - Quer desenvolver aplicações mobile nativas, cross-plat...
GDG DevFest Nordeste - Quer desenvolver aplicações mobile nativas, cross-plat...
 
Como participar de comunidades de software mudou a minha carreira e também po...
Como participar de comunidades de software mudou a minha carreira e também po...Como participar de comunidades de software mudou a minha carreira e também po...
Como participar de comunidades de software mudou a minha carreira e também po...
 
Use Xamarin.Forms and surprise your customers when develop native apps, in le...
Use Xamarin.Forms and surprise your customers when develop native apps, in le...Use Xamarin.Forms and surprise your customers when develop native apps, in le...
Use Xamarin.Forms and surprise your customers when develop native apps, in le...
 
The Developer's Conference 2015 - Florianópolis - Use o Xamarin.Forms e surpr...
The Developer's Conference 2015 - Florianópolis - Use o Xamarin.Forms e surpr...The Developer's Conference 2015 - Florianópolis - Use o Xamarin.Forms e surpr...
The Developer's Conference 2015 - Florianópolis - Use o Xamarin.Forms e surpr...
 
GDG Dev Fest Extended - Mobilidade além do smartphone
GDG Dev Fest Extended - Mobilidade além do smartphoneGDG Dev Fest Extended - Mobilidade além do smartphone
GDG Dev Fest Extended - Mobilidade além do smartphone
 
GDG Tech Talk - Quer desenvolver aplicações nativas e cross-plataforma usando...
GDG Tech Talk - Quer desenvolver aplicações nativas e cross-plataforma usando...GDG Tech Talk - Quer desenvolver aplicações nativas e cross-plataforma usando...
GDG Tech Talk - Quer desenvolver aplicações nativas e cross-plataforma usando...
 
TDC Porto Alegre 2014 - Quer desenvolver aplicações nativas e cross-plataform...
TDC Porto Alegre 2014 - Quer desenvolver aplicações nativas e cross-plataform...TDC Porto Alegre 2014 - Quer desenvolver aplicações nativas e cross-plataform...
TDC Porto Alegre 2014 - Quer desenvolver aplicações nativas e cross-plataform...
 
Semana Computação UFBA 2014 - Quer desenvolver aplicações nativas e cross-pla...
Semana Computação UFBA 2014 - Quer desenvolver aplicações nativas e cross-pla...Semana Computação UFBA 2014 - Quer desenvolver aplicações nativas e cross-pla...
Semana Computação UFBA 2014 - Quer desenvolver aplicações nativas e cross-pla...
 
Semana Computação Unifacs 2014 - Quer desenvolver aplicações nativas e cross-...
Semana Computação Unifacs 2014 - Quer desenvolver aplicações nativas e cross-...Semana Computação Unifacs 2014 - Quer desenvolver aplicações nativas e cross-...
Semana Computação Unifacs 2014 - Quer desenvolver aplicações nativas e cross-...
 
Utilizando a API do Roslyn, o novo compilador do C#
Utilizando a API do Roslyn, o novo compilador do C#Utilizando a API do Roslyn, o novo compilador do C#
Utilizando a API do Roslyn, o novo compilador do C#
 
Explicando conceitos de software usando situações do cotidiano
Explicando conceitos de software usando situações do cotidianoExplicando conceitos de software usando situações do cotidiano
Explicando conceitos de software usando situações do cotidiano
 
Mergulhando no ecossistema .NET
Mergulhando no ecossistema .NETMergulhando no ecossistema .NET
Mergulhando no ecossistema .NET
 
Tests in Javascript using Jasmine and Testacular
Tests in Javascript using Jasmine and TestacularTests in Javascript using Jasmine and Testacular
Tests in Javascript using Jasmine and Testacular
 
A vez do mobile - Dev in Bahia #3
A vez do mobile - Dev in Bahia #3A vez do mobile - Dev in Bahia #3
A vez do mobile - Dev in Bahia #3
 
SFD - C# para a comunidade
SFD - C# para a comunidadeSFD - C# para a comunidade
SFD - C# para a comunidade
 

Métricas de Código

Notas do Editor

  1. Tem haveremcomo um objeto se relaciona com o sistemaqueeleestáinserido, emcomo a finalidade de códigoestábemdefinida e comooscomponentesquecompõem o método se relacionam entre siafim de cumpriressafuncionalidade
  2. Acoplamentoestárelacionado a inter-dependência entre classes e/oupacotes do nossosistema.Aferentequantidade de classes quedependem da classeEferentequantidade de classes queumaclassedepende