refactoring重构内容摘要:

Lazy Class • Speculative Generality • Temporary Field • Message Chains • Middle Man • Inappropriate Intimacy • Alternative Classes with Different Interfaces • Inplete Library Class • Data Class • Refused Bequest • Comments  Copyright 2020 Chinaxp. All rights reserved 13 Refactoring之 Extract Methods void printOwing() { //print banner (“*********”)。 (“Banner”)。 (“*********”)。 //print details (name: + _name)。 (amount + getOutstanding())。 } void printOwing() { printBanner()。 printDetails(getOutstanding())。 } Void printBanner(){ //print banner (“*********”)。 (“Banner”)。 (“*********”)。 } void printDetails (double outstanding) { (name: + _name)。 (amount + outstanding)。 }  Copyright 2020 Chinaxp. All rights reserved 14 Refactoring之 Extract Methods 一个复杂些和现实些的例子 String name = (Name)。 if( name != null amp。 amp。 () 0 ){ ...... } String age = (Age)。 if( age != null amp。 amp。 () 0 ){ ...... } String name = (Name)。 if( !isNullOrEmpty( name ) ){ ...... } String age = (Age)。 if( !isNullOrEmpty( age ) ){ ...... } private boolean isNullOrEmpty( final String string ){ if( string != null amp。 amp。 () 0 ){ return true。 }else{ return false。 } }  Copyright 2020 Chinaxp. All rights reserved 15 Refactoring之 Inline Method 如果一个 Method中的 逻辑太简单,则把其中的代码移到调用它的代码, 取消这个 Method。 int getRating() { return (moreThanFiveLateDeliveries()) ? 2 : 1。 }。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。