be agile, stay agile
Post on 05-Jul-2015
216 Views
Preview:
DESCRIPTION
TRANSCRIPT
Be Agile, Stay Agile
Métricas, Feedback, Refactoring e Agile
@rpepato
Obrigado!
Projetos “green-field”Projetos “legados”
AGILE
AGILE
+ 50 % dos profissionais do mercado
Entre 40% e 90% da $$ de um projeto
Manutenção de Software “Legado”
D o m a i n D r i v e n D e s i g nDesp
air
Toda ajuda é bem vinda
O que é código legado?
“Legacy code is code without tests”
O que é código bom?
O que é código bom ?
Bom em quê ?
Qual é tua preocupação?
Não dá pra ser bom em tudo
Bom, talvez dê...
... mas vale a grana ?
+100 técnicas e vários cenários
Como e onde aplicar essas técnicas naquele lixo?
1. Defina seu objetivo
2. Pergunte-se como avaliar
3. Identifique e selecione métricas
4. Automatize a coleta
5. Observe os resultados
6. PENSE
7. Refatore
8. Começe de novoDeci
sões
Cons
icen
tes
1. Defina seu objetivo
2. Pergunte-se como avaliar
3. Identifique e selecione métricas
4. Automatize a coleta
5. Observe os resultados
6. PENSE
7. Refatore
8. Começe de novoDeci
sões
Cons
icen
tes
Chidamber & Kemerer
C&K Metrics
http://faculty.salisbury.edu/~stlauterburg/cosc425/metricforood_chidamberkemerer94.pdf
1. WMC - Weighted Methods Per Class
2. DIT - Depth Of Inheritance Tree
3. CBO - Coupling Between Objects
4. LCOM - Lack of Cohesion In Methods
5. NOC - Number of Children
6. RFC - Response for a Class
WMC• Replace conditional with
polymorphism• Replace Method of Method
Object• Substitute Algorithm• Extract Method•Move Method• Extract Class• ...
DIT
• Replace Subclass With Fields• Extract Hierarchy• ...
CBO
•Move Method• Extract Class•Moving Features Between
Objects• Remove Middle Man• ...
LCOM•Move Field• Encapsulate Field• Encapsulate Collection• ...
git :)
extract metrics
1. Agile - Green Field e Legado
2. Por quê nos importarmos com legado?
3. Por quê e como identificar o que medir?
4. Automatizando a coleta
5. Análise, reflexão e refactoring
O que vimos?
@rpepato
:)
top related