Next:
Contents
Refactoring
Benefits and Disadvantages of an Amazing Technique
Michael Hunger
Contents
List of Figures
Introduction to Refactoring
Introduction
What is Refactoring?
Testing using Unit Tests
Refactoring Consists of Small Steps
The Benefits of Refactoring
Refactoring helps Understanding Code
Refactoring as a Tool to Improve the (Non)Existing Design
Project Management aspects of refactoring (When doing it)
The Rule of Three by DON ROBERTS
Code Reviews
Introducing Refactoring to the Management
Insufficiencies of Refactoring
When it Does Not Pay Off to Refactor
The Costs of Refactoring
Risks Involved When Doing Refactoring
Refactoring vs. Design
Iterative, Incremental Development
Extreme Programming
A Metaphor for XP
Refactoring Is Analyzing
Refactoring Adds Flexibility
When its Necessary to Refactor
The Craft of Refactoring, or what helps doing it
Patterns
Extreme Programming, XP
The Hard Work
Language Advantages
Refactoring vs. Rewriting
The Development Of Refactoring
Looking at the History
Catalogs of Refactorings
Tools Needed
Thinking About Tools
History of Tool Development
A Short Look on Some Tools Available
Refactoring Browser (Smalltalk)
JRefactory (Java)
IntelliJ Renamer (Java)
Xref-Speller for Emacs (Java,C++,C)
Refactoring an Example
Refactoring Examples in General
Reasons For Choosing This Example
Anticipated Problems
Doing the Refactoring
Testing
Log-file and Caring about Initialization
Idea of DatabaseFormat
More Testing
Refactoring Outside The Database Server
First Methods Extracted To DatabaseFormat
Switching off a Switch (Statement)
A Bright Moment
Reaching The Limits
Final Moves
What were the Benefits and Disadvantages of Refactoring the Class
Benefits
Disadvantages
Summary and a Look Ahead
Summary
Future Development
Refactoring Example
Refactoring Log
Refactoring Switch Statement
Replace Parameter with Query
The Two Subclasses of DatabaseFormat
Comparison of the Code before and after the refactoring
References
About this document ...
Next:
Contents
Michael Hunger
Mit Okt 25 00:48:16 MEST 2000