measuring the effects of design patterns by david kemp
DESCRIPTION
TRANSCRIPT
Code Metrics & Design Patterns
Measuring the effects of Design Patterns
David KempMelbourne Patterns, March 2007
David Kemp: March 2007 Code Metrics & Design Patterns 2
Code Metrics & Design Patterns
What are code metrics?Example metrics.Limitations.Examples of measuring before & after
refactoring to a pattern.Metrics tools.References
David Kemp: March 2007 Code Metrics & Design Patterns 3
Code Metrics
Measuring software:SizeComplexityCoupling and cohesion
(Not to be confused with project metrics)
David Kemp: March 2007 Code Metrics & Design Patterns 4
Examples
Fanout% Code duplication…
David Kemp: March 2007 Code Metrics & Design Patterns 5
Limitations
Not all aspects of design are measurableOpinions differ on “good design”Unintended effects of measuring
David Kemp: March 2007 Code Metrics & Design Patterns 6
Code Metrics & Design Patterns
Examples taken from:
Brian Huston,The effects of design pattern applicationon metric scores.The Journal of Systems and Software, 2001.
David Kemp: March 2007 Code Metrics & Design Patterns 7
Mediator
David Kemp: March 2007 Code Metrics & Design Patterns 8
Bridge
David Kemp: March 2007 Code Metrics & Design Patterns 9
Visitor
David Kemp: March 2007 Code Metrics & Design Patterns 10
Stack Before Refactoring
David Kemp: March 2007 Code Metrics & Design Patterns 11
Stack After Refactoring
David Kemp: March 2007 Code Metrics & Design Patterns 12
References & Resources
Books & Articles: Brian Huston,The effects of design pattern application on metric scores.
The Journal of Systems and Software, 2001. Michele Lanza, Radu Marinescu, Object-Oriented Metrics in Practice
Tools: Eclipse Metrics (http://www.eclipseplugincentral.com/) Complexian (http://www.martyandrews.net/resources/complexian.html) Simian (http://www.redhillconsulting.com.au/products/simian/) IPlasma (http://loose.upt.ro/iplasma/). JHawk (http://www.virtualmachinery.com/jhawkprod.htm) Checkstyle (http://checkstyle.sourceforge.net/)