This is my presentation at JFall 2012, Nijkerk, Netherlands.
The presentation is geared for live presentation, but I have serialized some of the animation, so it hopefully makes some sense as a slideshow!
30. Cost… as code-base grows…
• Cost per feature increases
• Unexpected impacts of change
• Unreliable schedules
• Test cycles increase
• Reuse less
• Value of your code base declines
42. Refactoring Restructuring
• “Changing code without • “Reorganizing a code-base
modifying behavior to without modifying the code to
improve nonfunctional improve modularity”
attributes.”
43. Refactoring Restructuring
• “Changing code without • “Reorganizing a code-base
modifying behavior to without modifying the code to
improve nonfunctional improve modularity”
attributes.”
• Code-base is understandable
• Code is readable
44. Refactoring Restructuring
• “Changing code without • “Reorganizing a code-base
modifying behavior to without modifying the code to
improve nonfunctional improve modularity”
attributes.”
• Code-base is understandable
• Code is readable
• Minimal invasive code editing
• A lot of invasive code editing
45. Refactoring Restructuring
• “Changing code without • “Reorganizing a code-base
modifying behavior to improve without modifying the code to
nonfunctional attributes.” improve modularity”
• Code is readable • Code-base is understandable
• A lot of invasive code editing • Minimal invasive code editing
• Scope: small worlds of a few • Scope: whole code base; what
classes at a time; what you see you don’t see in the IDE
in the IDE.
51. Summary
Keep CC and tangles out
Stop debt growing (Keep a Lid on It - KALOI)
Restructuring is an option!
Define modular structure
Communicate and enforce
Evolve architecture with iterations