- 你有一段代码可以被组织在一起并独立出来,将这段代码放进一个独立函数中,并让函数名称解释该函数的用途。
void printOwing(double amout) {
printBanner();
System.out.println("name:"+_name);
System.out.println("amount:"+amout);
}
void printOwing(double amount) {
printBanner();
printDetails(amount);
}
void printDetails(double amount) {
System.out.println("name:"+_name);
System.out.println("amount:"+amout);
}
- 看见一个过长的函数或者一段注释才能让人理解用途的代码,可以将这段代码放进一个独立的函数中函数命名简短,名字清晰一目了然, 如果每个函数的粒度都很小,那么函数被复用的机会就更大,其次,这会使高层函数读起来就像一系列注释,再次 如果函数都是细粒度,那么函数的覆写也会更容易些。
- 范例:无局部变量
void pringOwing() {
Enumeration enumeration =_orders.elements();
double outstanding = 0.0;
//print banner
System.out.println("**************************************");
System.out.println("*********** Customer Owes **********");
System.out.println("**************************************");
while(e.hasMoreElements()) {
_orders each = e.nextElement();
outstanding += each.getAmount();
}
System.out.println("name:"+_name);
System.out.println("amount:"+outstanding);
}
void pringOwing() {
Enumeration enumeration =_orders.elements();
double outstanding = 0.0;
printBanner();
while(e.hasMoreElements()) {
_orders each = e.nextElement();
outstanding += each.getAmount();
}
System.out.println("name:"+_name);
System.out.println("amount:"+outstanding);
}
void printBanner(){
//print banner
System.out.println("**************************************");
System.out.println("*********** Customer Owes **********");
System.out.println("**************************************");
}
- 范例:有局部变量
void pringOwing() {
Enumeration enumeration =_orders.elements();
double outstanding = 0.0;
printBanner();
while(e.hasMoreElements()) {
_orders each = e.nextElement();
outstanding += each.getAmount();
}
printDetails(outstanding);
}
void printBanner(){
//print banner
System.out.println("**************************************");
System.out.println("*********** Customer Owes **********");
System.out.println("**************************************");
}
void printDetails(double outstanding){
System.out.println("name:"+_name);
System.out.println("amount:"+outstanding);
}
范例:对局部变量再赋值
void pringOwing() {
double outstanding = geOutstanding();
printBanner();
printDetails(outstanding);
}
void printBanner(){
//print banner
System.out.println("**************************************");
System.out.println("*********** Customer Owes **********");
System.out.println("**************************************");
}
void printDetails(double outstanding){
System.out.println("name:"+_name);
System.out.println("amount:"+outstanding);
}
double geOutstanding(){
Enumeration enumeration =_orders.elements();
double result= 0.0;
while(e.hasMoreElements()) {
_orders each = e.nextElement();
result+= each.getAmount();
}
return result;
}
本文探讨了如何通过创建独立函数来重构代码,提高代码的可读性和复用性。介绍了将代码片段封装成函数的方法,包括无局部变量、有局部变量及对局部变量再赋值的场景,强调了函数命名的重要性。
2510

被折叠的 条评论
为什么被折叠?



