SlideShare uma empresa Scribd logo
1 de 38
Baixar para ler offline
Métricas de Código,
pra que te quero?
Maurício Aniche
mauricio.aniche@caelum.com.br
@mauricioaniche
Monday, August 11, 14
Monday, August 11, 14
Por que a Caelum
abriu em Brasília?
pq tem
coreanas lá!
irmão + novo
é fogo...
Monday, August 11, 14
Business Intelligence
Monday, August 11, 14
E em software, como
fazemos?
• O que devo testar no meu código?
• Meu time é distribuído. Isso é ruim?
• Tenho classes com código feio. Preciso
mesmo refatorar?
• ...
Monday, August 11, 14
?????
Monday, August 11, 14
Minere os dados!
Monday, August 11, 14
Métricas de Código
Monday, August 11, 14
Tamanho de métodos
e classes
Monday, August 11, 14
Complexidade
Ciclomática
Monday, August 11, 14
Coesão
Monday, August 11, 14
Acoplamento e
Estabilidade
Monday, August 11, 14
Acoplamento
Lógico
(pesquise por Gustavo Oliva)
Monday, August 11, 14
Monday, August 11, 14
Monday, August 11, 14
Na prática
Monday, August 11, 14
Métricas são
heurísticas!
Monday, August 11, 14
Big Data, Little Brain
(Prof. Dr. Gail Murphy)
Monday, August 11, 14
Priorizar!
Monday, August 11, 14
Desenvolvedores
Monday, August 11, 14
Desenvolvedores
Monday, August 11, 14
Monday, August 11, 14
Bugs por dia de semana
Monday, August 11, 14
Bugs por hora
Monday, August 11, 14
Bugs x Complexidade
Monday, August 11, 14
Complexidade x Churn
Monday, August 11, 14
LOC x Churn
Monday, August 11, 14
Monday, August 11, 14
Monday, August 11, 14
Mais recente:
DAOs
Monday, August 11, 14
Mais recente:
Code Review
Monday, August 11, 14
Visualizações podem
ser úteis também!
Monday, August 11, 14
CodeCity
Monday, August 11, 14
Diagrama de Kiviat
Monday, August 11, 14
somos péssimos
pra organizar
informação
Monday, August 11, 14
ainda precisamos
mostrar que isso
é útil!
Monday, August 11, 14
“Muito melhor
que Crepúsculo!”
NYTimes
http://www.tddnomundoreal.com.br
“De tirar o fôlego!”
Washington Post
“Um thriller
fascinante!”
Miami Herald
Monday, August 11, 14
Obrigado!
mauricio.aniche@caelum.com.br
@mauricioaniche
Monday, August 11, 14

Mais conteúdo relacionado

Destaque

Efeito Das PráTicas Alimentares Sobre O Crescimento Infantil
Efeito Das PráTicas Alimentares Sobre O Crescimento InfantilEfeito Das PráTicas Alimentares Sobre O Crescimento Infantil
Efeito Das PráTicas Alimentares Sobre O Crescimento InfantilBiblioteca Virtual
 
The Timing And Predictors Of The Early Termination Of Breastfeeding
The Timing And Predictors Of The Early Termination Of BreastfeedingThe Timing And Predictors Of The Early Termination Of Breastfeeding
The Timing And Predictors Of The Early Termination Of BreastfeedingBiblioteca Virtual
 
June 24 Club Assembly
June 24 Club AssemblyJune 24 Club Assembly
June 24 Club AssemblyBrent Jonas
 
Statistical Report Of The 2008 Iblce Examination
Statistical Report Of The 2008 Iblce ExaminationStatistical Report Of The 2008 Iblce Examination
Statistical Report Of The 2008 Iblce ExaminationBiblioteca Virtual
 
Randomized, Controlled Trial Of A Prenatal And Postnatal Lactation Consultant
Randomized, Controlled Trial Of A Prenatal And Postnatal Lactation ConsultantRandomized, Controlled Trial Of A Prenatal And Postnatal Lactation Consultant
Randomized, Controlled Trial Of A Prenatal And Postnatal Lactation ConsultantBiblioteca Virtual
 
Endocrine System
Endocrine SystemEndocrine System
Endocrine Systemguest96c45e
 
офисные здания
офисные зданияофисные здания
офисные зданияDevigan
 
Как Облачные вычисления изменят мир Информационных Технологий (ИТ)
Как Облачные вычисления изменят мир Информационных Технологий (ИТ)Как Облачные вычисления изменят мир Информационных Технологий (ИТ)
Как Облачные вычисления изменят мир Информационных Технологий (ИТ)Michael Kozloff
 
Improving profit and utilazation in asset-intenensive industries
Improving profit and utilazation in asset-intenensive industriesImproving profit and utilazation in asset-intenensive industries
Improving profit and utilazation in asset-intenensive industriesIFS
 
LevelUp Your Facebook Strategy
LevelUp Your Facebook StrategyLevelUp Your Facebook Strategy
LevelUp Your Facebook StrategyLithium
 
What Do These Pictures Have In Common
What Do These Pictures Have In CommonWhat Do These Pictures Have In Common
What Do These Pictures Have In Commonpatriciapunte
 
Lautaro (My Experiences)
Lautaro (My Experiences)Lautaro (My Experiences)
Lautaro (My Experiences)rominacheme
 

Destaque (20)

Efeito Das PráTicas Alimentares Sobre O Crescimento Infantil
Efeito Das PráTicas Alimentares Sobre O Crescimento InfantilEfeito Das PráTicas Alimentares Sobre O Crescimento Infantil
Efeito Das PráTicas Alimentares Sobre O Crescimento Infantil
 
The Timing And Predictors Of The Early Termination Of Breastfeeding
The Timing And Predictors Of The Early Termination Of BreastfeedingThe Timing And Predictors Of The Early Termination Of Breastfeeding
The Timing And Predictors Of The Early Termination Of Breastfeeding
 
June 24 Club Assembly
June 24 Club AssemblyJune 24 Club Assembly
June 24 Club Assembly
 
Gallery
GalleryGallery
Gallery
 
Statistical Report Of The 2008 Iblce Examination
Statistical Report Of The 2008 Iblce ExaminationStatistical Report Of The 2008 Iblce Examination
Statistical Report Of The 2008 Iblce Examination
 
Randomized, Controlled Trial Of A Prenatal And Postnatal Lactation Consultant
Randomized, Controlled Trial Of A Prenatal And Postnatal Lactation ConsultantRandomized, Controlled Trial Of A Prenatal And Postnatal Lactation Consultant
Randomized, Controlled Trial Of A Prenatal And Postnatal Lactation Consultant
 
Endocrine System
Endocrine SystemEndocrine System
Endocrine System
 
Genecode Activity
Genecode ActivityGenecode Activity
Genecode Activity
 
офисные здания
офисные зданияофисные здания
офисные здания
 
Как Облачные вычисления изменят мир Информационных Технологий (ИТ)
Как Облачные вычисления изменят мир Информационных Технологий (ИТ)Как Облачные вычисления изменят мир Информационных Технологий (ИТ)
Как Облачные вычисления изменят мир Информационных Технологий (ИТ)
 
Doering
DoeringDoering
Doering
 
Today
TodayToday
Today
 
Covers
CoversCovers
Covers
 
The Opera Houses at Chisholm Gallery, LLC
The  Opera  Houses at Chisholm Gallery, LLCThe  Opera  Houses at Chisholm Gallery, LLC
The Opera Houses at Chisholm Gallery, LLC
 
Improving profit and utilazation in asset-intenensive industries
Improving profit and utilazation in asset-intenensive industriesImproving profit and utilazation in asset-intenensive industries
Improving profit and utilazation in asset-intenensive industries
 
LevelUp Your Facebook Strategy
LevelUp Your Facebook StrategyLevelUp Your Facebook Strategy
LevelUp Your Facebook Strategy
 
FEATURE ARTICLE on JEANNE CHISHOLM, TOWN & COUNTRY
FEATURE ARTICLE on JEANNE CHISHOLM, TOWN & COUNTRYFEATURE ARTICLE on JEANNE CHISHOLM, TOWN & COUNTRY
FEATURE ARTICLE on JEANNE CHISHOLM, TOWN & COUNTRY
 
What Do These Pictures Have In Common
What Do These Pictures Have In CommonWhat Do These Pictures Have In Common
What Do These Pictures Have In Common
 
Skull Series by Henry Bismuth, Courtesy of Chisholm Gallery
Skull Series by Henry Bismuth, Courtesy of Chisholm GallerySkull Series by Henry Bismuth, Courtesy of Chisholm Gallery
Skull Series by Henry Bismuth, Courtesy of Chisholm Gallery
 
Lautaro (My Experiences)
Lautaro (My Experiences)Lautaro (My Experiences)
Lautaro (My Experiences)
 

Mais de Maurício Aniche

Can ML help software developers? (TEQnation 2022)
Can ML help software developers? (TEQnation 2022)Can ML help software developers? (TEQnation 2022)
Can ML help software developers? (TEQnation 2022)Maurício Aniche
 
Tracing Back Log Data to its Log Statement: From Research to Practice
Tracing Back Log Data to its Log Statement: From Research to PracticeTracing Back Log Data to its Log Statement: From Research to Practice
Tracing Back Log Data to its Log Statement: From Research to PracticeMaurício Aniche
 
Pragmatic software testing education - SIGCSE 2019
Pragmatic software testing education - SIGCSE 2019Pragmatic software testing education - SIGCSE 2019
Pragmatic software testing education - SIGCSE 2019Maurício Aniche
 
Software Testing with Caipirinhas and Stroopwafels
Software Testing with Caipirinhas and StroopwafelsSoftware Testing with Caipirinhas and Stroopwafels
Software Testing with Caipirinhas and StroopwafelsMaurício Aniche
 
Code smells in MVC applications (Dutch Spring meetup)
Code smells in MVC applications (Dutch Spring meetup)Code smells in MVC applications (Dutch Spring meetup)
Code smells in MVC applications (Dutch Spring meetup)Maurício Aniche
 
A Collaborative Approach to Teach Software Architecture - SIGCSE 2017
A Collaborative Approach to Teach Software Architecture - SIGCSE 2017A Collaborative Approach to Teach Software Architecture - SIGCSE 2017
A Collaborative Approach to Teach Software Architecture - SIGCSE 2017Maurício Aniche
 
Code quality in MVC systems - BENEVOL 2016
Code quality in MVC systems - BENEVOL 2016Code quality in MVC systems - BENEVOL 2016
Code quality in MVC systems - BENEVOL 2016Maurício Aniche
 
SATT: Tailoring Code Metric Thresholds for Different Software Architectures (...
SATT: Tailoring Code Metric Thresholds for Different Software Architectures (...SATT: Tailoring Code Metric Thresholds for Different Software Architectures (...
SATT: Tailoring Code Metric Thresholds for Different Software Architectures (...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
 
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
 
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 WebMaurício Aniche
 
Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...
Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...
Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...Maurício Aniche
 
Test-Driven Development serve pra mim?
Test-Driven Development serve pra mim?Test-Driven Development serve pra mim?
Test-Driven Development serve pra mim?Maurício Aniche
 
O que estamos temos feito com mineração de repositório de código no IME?
O que estamos temos feito com mineração de repositório de código no IME?O que estamos temos feito com mineração de repositório de código no IME?
O que estamos temos feito com mineração de repositório de código no IME?Maurício Aniche
 
Does the Act of Refactoring Really Make Code Simpler? A Preliminary Study - W...
Does the Act of Refactoring Really Make Code Simpler? A Preliminary Study - W...Does the Act of Refactoring Really Make Code Simpler? A Preliminary Study - W...
Does the Act of Refactoring Really Make Code Simpler? A Preliminary Study - W...Maurício Aniche
 
Minicurso sobre Evolução de Software no CBSoft 2011
Minicurso sobre Evolução de Software no CBSoft 2011Minicurso sobre Evolução de Software no CBSoft 2011
Minicurso sobre Evolução de Software no CBSoft 2011Maurício Aniche
 
MTD2014 - Are The Methods In Your DAOs in the Right Place? A Preliminary Study
MTD2014 - Are The Methods In Your DAOs in the Right Place? A Preliminary StudyMTD2014 - Are The Methods In Your DAOs in the Right Place? A Preliminary Study
MTD2014 - Are The Methods In Your DAOs in the Right Place? A Preliminary StudyMaurício Aniche
 
Code coverage for MSR Researches [Work in Progress]
Code coverage for MSR Researches [Work in Progress]Code coverage for MSR Researches [Work in Progress]
Code coverage for MSR Researches [Work in Progress]Maurício Aniche
 
Eu meço, tu medes, ele mede.. Mas medimos o quê?
Eu meço, tu medes, ele mede.. Mas medimos o quê?Eu meço, tu medes, ele mede.. Mas medimos o quê?
Eu meço, tu medes, ele mede.. Mas medimos o quê?Maurício Aniche
 

Mais de Maurício Aniche (20)

Can ML help software developers? (TEQnation 2022)
Can ML help software developers? (TEQnation 2022)Can ML help software developers? (TEQnation 2022)
Can ML help software developers? (TEQnation 2022)
 
Tracing Back Log Data to its Log Statement: From Research to Practice
Tracing Back Log Data to its Log Statement: From Research to PracticeTracing Back Log Data to its Log Statement: From Research to Practice
Tracing Back Log Data to its Log Statement: From Research to Practice
 
Pragmatic software testing education - SIGCSE 2019
Pragmatic software testing education - SIGCSE 2019Pragmatic software testing education - SIGCSE 2019
Pragmatic software testing education - SIGCSE 2019
 
Test Automation Day 2018
Test Automation Day 2018Test Automation Day 2018
Test Automation Day 2018
 
Software Testing with Caipirinhas and Stroopwafels
Software Testing with Caipirinhas and StroopwafelsSoftware Testing with Caipirinhas and Stroopwafels
Software Testing with Caipirinhas and Stroopwafels
 
Code smells in MVC applications (Dutch Spring meetup)
Code smells in MVC applications (Dutch Spring meetup)Code smells in MVC applications (Dutch Spring meetup)
Code smells in MVC applications (Dutch Spring meetup)
 
A Collaborative Approach to Teach Software Architecture - SIGCSE 2017
A Collaborative Approach to Teach Software Architecture - SIGCSE 2017A Collaborative Approach to Teach Software Architecture - SIGCSE 2017
A Collaborative Approach to Teach Software Architecture - SIGCSE 2017
 
Code quality in MVC systems - BENEVOL 2016
Code quality in MVC systems - BENEVOL 2016Code quality in MVC systems - BENEVOL 2016
Code quality in MVC systems - BENEVOL 2016
 
SATT: Tailoring Code Metric Thresholds for Different Software Architectures (...
SATT: Tailoring Code Metric Thresholds for Different Software Architectures (...SATT: Tailoring Code Metric Thresholds for Different Software Architectures (...
SATT: Tailoring Code Metric Thresholds for Different Software Architectures (...
 
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?
 
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?
 
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
 
Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...
Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...
Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...
 
Test-Driven Development serve pra mim?
Test-Driven Development serve pra mim?Test-Driven Development serve pra mim?
Test-Driven Development serve pra mim?
 
O que estamos temos feito com mineração de repositório de código no IME?
O que estamos temos feito com mineração de repositório de código no IME?O que estamos temos feito com mineração de repositório de código no IME?
O que estamos temos feito com mineração de repositório de código no IME?
 
Does the Act of Refactoring Really Make Code Simpler? A Preliminary Study - W...
Does the Act of Refactoring Really Make Code Simpler? A Preliminary Study - W...Does the Act of Refactoring Really Make Code Simpler? A Preliminary Study - W...
Does the Act of Refactoring Really Make Code Simpler? A Preliminary Study - W...
 
Minicurso sobre Evolução de Software no CBSoft 2011
Minicurso sobre Evolução de Software no CBSoft 2011Minicurso sobre Evolução de Software no CBSoft 2011
Minicurso sobre Evolução de Software no CBSoft 2011
 
MTD2014 - Are The Methods In Your DAOs in the Right Place? A Preliminary Study
MTD2014 - Are The Methods In Your DAOs in the Right Place? A Preliminary StudyMTD2014 - Are The Methods In Your DAOs in the Right Place? A Preliminary Study
MTD2014 - Are The Methods In Your DAOs in the Right Place? A Preliminary Study
 
Code coverage for MSR Researches [Work in Progress]
Code coverage for MSR Researches [Work in Progress]Code coverage for MSR Researches [Work in Progress]
Code coverage for MSR Researches [Work in Progress]
 
Eu meço, tu medes, ele mede.. Mas medimos o quê?
Eu meço, tu medes, ele mede.. Mas medimos o quê?Eu meço, tu medes, ele mede.. Mas medimos o quê?
Eu meço, tu medes, ele mede.. Mas medimos o quê?
 

Último

Livro Vibrações Mecânicas - Rao Singiresu - 4ª Ed.pdf
Livro Vibrações Mecânicas - Rao Singiresu - 4ª Ed.pdfLivro Vibrações Mecânicas - Rao Singiresu - 4ª Ed.pdf
Livro Vibrações Mecânicas - Rao Singiresu - 4ª Ed.pdfSamuel Ramos
 
Treinamento de NR06 Equipamento de Proteção Individual
Treinamento de NR06 Equipamento de Proteção IndividualTreinamento de NR06 Equipamento de Proteção Individual
Treinamento de NR06 Equipamento de Proteção Individualpablocastilho3
 
Eletricista instalador - Senai Almirante Tamandaré
Eletricista instalador - Senai Almirante TamandaréEletricista instalador - Senai Almirante Tamandaré
Eletricista instalador - Senai Almirante TamandaréGuilhermeLucio9
 
A Importância dos EPI's no trabalho e no dia a dia laboral
A Importância dos EPI's no trabalho e no dia a dia laboralA Importância dos EPI's no trabalho e no dia a dia laboral
A Importância dos EPI's no trabalho e no dia a dia laboralFranciscaArrudadaSil
 
Tecnólogo em Mecatrônica - Universidade Anhanguera
Tecnólogo em Mecatrônica - Universidade AnhangueraTecnólogo em Mecatrônica - Universidade Anhanguera
Tecnólogo em Mecatrônica - Universidade AnhangueraGuilhermeLucio9
 
A EXTENSÃO RURAL NO BRASIL Sociologia e Extensão 1 2014.ppt
A EXTENSÃO RURAL NO BRASIL Sociologia e Extensão 1 2014.pptA EXTENSÃO RURAL NO BRASIL Sociologia e Extensão 1 2014.ppt
A EXTENSÃO RURAL NO BRASIL Sociologia e Extensão 1 2014.pptssuserb964fe
 
LEAN SIX SIGMA - Garantia da qualidade e segurança
LEAN SIX SIGMA - Garantia da qualidade e segurançaLEAN SIX SIGMA - Garantia da qualidade e segurança
LEAN SIX SIGMA - Garantia da qualidade e segurançaGuilhermeLucio9
 

Último (7)

Livro Vibrações Mecânicas - Rao Singiresu - 4ª Ed.pdf
Livro Vibrações Mecânicas - Rao Singiresu - 4ª Ed.pdfLivro Vibrações Mecânicas - Rao Singiresu - 4ª Ed.pdf
Livro Vibrações Mecânicas - Rao Singiresu - 4ª Ed.pdf
 
Treinamento de NR06 Equipamento de Proteção Individual
Treinamento de NR06 Equipamento de Proteção IndividualTreinamento de NR06 Equipamento de Proteção Individual
Treinamento de NR06 Equipamento de Proteção Individual
 
Eletricista instalador - Senai Almirante Tamandaré
Eletricista instalador - Senai Almirante TamandaréEletricista instalador - Senai Almirante Tamandaré
Eletricista instalador - Senai Almirante Tamandaré
 
A Importância dos EPI's no trabalho e no dia a dia laboral
A Importância dos EPI's no trabalho e no dia a dia laboralA Importância dos EPI's no trabalho e no dia a dia laboral
A Importância dos EPI's no trabalho e no dia a dia laboral
 
Tecnólogo em Mecatrônica - Universidade Anhanguera
Tecnólogo em Mecatrônica - Universidade AnhangueraTecnólogo em Mecatrônica - Universidade Anhanguera
Tecnólogo em Mecatrônica - Universidade Anhanguera
 
A EXTENSÃO RURAL NO BRASIL Sociologia e Extensão 1 2014.ppt
A EXTENSÃO RURAL NO BRASIL Sociologia e Extensão 1 2014.pptA EXTENSÃO RURAL NO BRASIL Sociologia e Extensão 1 2014.ppt
A EXTENSÃO RURAL NO BRASIL Sociologia e Extensão 1 2014.ppt
 
LEAN SIX SIGMA - Garantia da qualidade e segurança
LEAN SIX SIGMA - Garantia da qualidade e segurançaLEAN SIX SIGMA - Garantia da qualidade e segurança
LEAN SIX SIGMA - Garantia da qualidade e segurança
 

Métricas de Código importância teste qualidade