Refactoring Notes-Refactoring Methods
来源:互联网 发布:甲壳素胶囊 知乎 编辑:程序博客网 时间:2024/04/29 11:52
1.Extract Method
Turn the fragment into a method whose name explains the purpose of the method.
Before:
void printOwing(){
Enumeration e =orders.elements();
double outstanding=0;
//print banner
System.out.println("*******************");
System.out.println("***Customer Owes***");
System.out.println("*******************");
//calculate outstanding
while(e.hasMoreElements()){
Order each=(Order)e.nextElement();
outstanding+=each.getAmount();
}
// print details
System.out.println("name: "+name);
System.out.println("amount "+amount);
}
After:
void printOwing(double amount){
printBanner();
amount=getOutstanding();
printDetails(amount);
}
void printBanner(){
System.out.println("*******************");
System.out.println("***Customer Owes***");
System.out.println("*******************");
}
void printDetails(double amount){
System.out.println(“name” + name);
System.out.println(“amount”+amount);
}
double getOutstanding(){
Enumeration e =orders.elements();
double result=0.0;
while(e.hasMoreElements()){
Order each=(Order)e.nextElement();
result+=each.getAmount();
}
return result;
}
}
- Refactoring Notes-Refactoring Methods
- Refactoring Notes-Refactoring Methods(2)
- Refactoring Notes-Refactoring Methods(3)
- Refactoring
- Refactoring
- Refactoring
- Refactoring
- Refactoring notes 20120105
- Refactoring notes 20120106
- Refactoring HiMock
- Refactoring practice
- About Refactoring
- Refactoring Workbook
- Refactoring 笔记
- Refactoring Session
- Refactoring Memo
- Refactoring 网站
- Code Refactoring
- EAS 5.2 学习手记
- LINUX/UNIX中的进程层次中的shell登录过程
- [转]Winsock错误代码一览表
- shell启动文件与环境变量
- debian 问题记录第一集
- Refactoring Notes-Refactoring Methods
- gi.2288.org:88 Apache httpd.conf 更改 2005.03.21
- 前纪
- ANSI C的LEX、YACC的描述文件
- 可怜的IT人(转)
- 终极勾边之贴图勾边法
- 前一段时间太懒了...
- Together与Visual.Studio.NET的结合使用
- 测试Trackback