Extract Method
From CSSEMediaWiki
(Difference between revisions)
m (Reverted edits by Ebybymic (Talk); changed back to last version by Matthew Harward) |
|||
Line 26: | Line 26: | ||
} | } | ||
− | + | == See Also == | |
{{Refactoring}} | {{Refactoring}} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Latest revision as of 03:23, 25 November 2010
Extracting a method consists of turning a fragment of a method into a method whose name explains the purpose of the method. This may need to be used in methods that show a large number of local variables within the scope of a method, to enhance comprehensibility and reduce complexity. If several of these local-scope variables are modified by the code extracted, Split Temporary Variable may also need to be used.
In cases where extracting a method is not feasible, replacing the method with a Method Object may be the next step.
Example:
printOwing() { printBanner(); //print details System.out.println ("name: " + _name); System.out.println ("amount " + getOutstanding()); }
becomes
void printOwing() { printBanner(); printDetails(getOutstanding()); } void printDetails (double outstanding) { System.out.println ("name: " + _name); System.out.println ("amount " + outstanding); }
See Also