Measuring the Effects of Design Patterns by David Kemp
-
Upload
melbournepatterns -
Category
Technology
-
view
1.986 -
download
2
description
Transcript of Measuring the Effects of Design Patterns by David Kemp
![Page 1: Measuring the Effects of Design Patterns by David Kemp](https://reader036.fdocuments.in/reader036/viewer/2022082803/54566330af7959795d8b4c87/html5/thumbnails/1.jpg)
Code Metrics & Design Patterns
Measuring the effects of Design Patterns
David KempMelbourne Patterns, March 2007
![Page 2: Measuring the Effects of Design Patterns by David Kemp](https://reader036.fdocuments.in/reader036/viewer/2022082803/54566330af7959795d8b4c87/html5/thumbnails/2.jpg)
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
![Page 3: Measuring the Effects of Design Patterns by David Kemp](https://reader036.fdocuments.in/reader036/viewer/2022082803/54566330af7959795d8b4c87/html5/thumbnails/3.jpg)
David Kemp: March 2007 Code Metrics & Design Patterns 3
Code Metrics
Measuring software:SizeComplexityCoupling and cohesion
(Not to be confused with project metrics)
![Page 4: Measuring the Effects of Design Patterns by David Kemp](https://reader036.fdocuments.in/reader036/viewer/2022082803/54566330af7959795d8b4c87/html5/thumbnails/4.jpg)
David Kemp: March 2007 Code Metrics & Design Patterns 4
Examples
Fanout% Code duplication…
![Page 5: Measuring the Effects of Design Patterns by David Kemp](https://reader036.fdocuments.in/reader036/viewer/2022082803/54566330af7959795d8b4c87/html5/thumbnails/5.jpg)
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
![Page 6: Measuring the Effects of Design Patterns by David Kemp](https://reader036.fdocuments.in/reader036/viewer/2022082803/54566330af7959795d8b4c87/html5/thumbnails/6.jpg)
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.
![Page 7: Measuring the Effects of Design Patterns by David Kemp](https://reader036.fdocuments.in/reader036/viewer/2022082803/54566330af7959795d8b4c87/html5/thumbnails/7.jpg)
David Kemp: March 2007 Code Metrics & Design Patterns 7
Mediator
![Page 8: Measuring the Effects of Design Patterns by David Kemp](https://reader036.fdocuments.in/reader036/viewer/2022082803/54566330af7959795d8b4c87/html5/thumbnails/8.jpg)
David Kemp: March 2007 Code Metrics & Design Patterns 8
Bridge
![Page 9: Measuring the Effects of Design Patterns by David Kemp](https://reader036.fdocuments.in/reader036/viewer/2022082803/54566330af7959795d8b4c87/html5/thumbnails/9.jpg)
David Kemp: March 2007 Code Metrics & Design Patterns 9
Visitor
![Page 10: Measuring the Effects of Design Patterns by David Kemp](https://reader036.fdocuments.in/reader036/viewer/2022082803/54566330af7959795d8b4c87/html5/thumbnails/10.jpg)
David Kemp: March 2007 Code Metrics & Design Patterns 10
Stack Before Refactoring
![Page 11: Measuring the Effects of Design Patterns by David Kemp](https://reader036.fdocuments.in/reader036/viewer/2022082803/54566330af7959795d8b4c87/html5/thumbnails/11.jpg)
David Kemp: March 2007 Code Metrics & Design Patterns 11
Stack After Refactoring
![Page 12: Measuring the Effects of Design Patterns by David Kemp](https://reader036.fdocuments.in/reader036/viewer/2022082803/54566330af7959795d8b4c87/html5/thumbnails/12.jpg)
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/)