Greetings,
The meeting Monday night, July 18th, will feature
Andrew Glover, a No Fluff Just Stuff speaker. The
website is having trouble but I will get it up to date
just as soon as I can. Meeting time is 6:30 with food
at 6pm. Directions are at:
http://www.cinjug.org/directions.html. Below is an
abstract:
Using Code Metrics for Targeted Code Refactoring by
Andrew Glover
Often times, candidate code for refactoring is based
upon a source
file's smell, which its spotting can take time to
acquire and is largely
based upon subjective determinations. The proper use
of code metrics,
such as Cyclomatic Complexity, Fan-In, Fan-Out, and
Depth of Inheritance
can also facilitate the discovery of candidate code
which is in need of
refactoring.
For example, Cyclomatic Complexity is adept at
spotting methods
containing a high degree of conditional logic, which,
conseqently, can
be replaced with polymorphism as elaborated in Martin
Fowler's seminal
work, Refactoring with the Replace Conditional with
Polymorphism
pattern. Additionally, excessively deep hierarchy
trees create
problematic testing targets, which can be broken out
into separate
objects with Fowler's Replace Inheritance with
Delegation and Collapse
Hierarchy patterns. Fan-In and Fan-Out are quite
effective at
pinpointing brittle code, which can be refactored into
a more stable
state with a plethora of patterns including Extract
Hiearchy and Extract
Class. The knowledge of how to effectively spot
smelly code and replace
it with proven patterns will ultimately lead to a more
stable,
maintainable and elegant code base.
____________________________________________________
Start your day with Yahoo! - make it your home page
http://www.yahoo.com/r/hs
|