Extract Method
From CSSEMediaWiki
(Difference between revisions)
Brett Ward (Talk | contribs) m (Page was just an example, added generic explanation) |
Brett Ward (Talk | contribs) m |
||
Line 1: | Line 1: | ||
− | + | 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. | |
+ | |||
+ | In cases where extracting a method is not feasible, replacing the method with a [[Method Object]] may be the next step | ||
+ | |||
+ | ---- | ||
+ | '''Example:''' | ||
printOwing() { | printOwing() { |
Revision as of 00:37, 17 August 2009
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.
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