• Like
Measuring the Effects of Design Patterns by David Kemp
Upcoming SlideShare
Loading in...5
×

Measuring the Effects of Design Patterns by David Kemp

  • 1,109 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,109
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
17
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Code Metrics & Design Patterns Measuring the effects of Design Patterns David Kemp Melbourne Patterns, March 2007
  • 2. Code Metrics & Design Patterns
    • What are code metrics?
    • Example metrics.
    • Limitations.
    • Examples of measuring before & after refactoring to a pattern.
    • Metrics tools.
    • References
  • 3. Code Metrics
    • Measuring software:
    • Size
    • Complexity
    • Coupling and cohesion
    • (Not to be confused with project metrics)
  • 4. Examples
    • Fanout
    • % Code duplication
  • 5. Limitations
    • Not all aspects of design are measurable
    • Opinions differ on “good design”
    • Unintended effects of measuring
  • 6. Code Metrics & Design Patterns
    • Examples taken from:
    • Brian Huston,
    • The effects of design pattern application
    • on metric scores.
    • The Journal of Systems and Software, 2001.
  • 7. Mediator
  • 8. Bridge
  • 9. Visitor
  • 10. Stack Before Refactoring
  • 11. Stack After Refactoring
  • 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/)