java编程代码大全_掌握Java编程技巧,代码重构
代碼重構在不改變軟件系統外部行為的前提下,改善它的內部結構,通過調整程序代碼改善軟件的質量、性能,使其程序的設計模式和架構更趨合理,提高軟件的擴展性和維護性。
代碼重構目標
持續糾偏和改進軟件設計
隨著項目的開發,程序代碼逐漸腐敗變質,愈來愈像斷線的風箏,脫韁的野馬無法控制;
對代碼進行整理重構,讓所有帶著發散傾向的代碼回歸本位。
幫助發現隱藏的代碼缺陷
重構代碼可以加深對之前代碼的理解,發現軟件設計的不足,找出其中的問題和隱患,構建出更好的代碼。
提高編程效率
從長遠來看,代碼重構,改善設計、提高可讀性、減少缺陷,可以提高軟件開發后續的效率。
代碼重構技巧
提煉重復代碼
代碼重構最常見有效的手法就是提煉重復代碼。
發現重復代碼,將其提煉到合適的方法中,減少總代碼量
class BadExample {
public void someMethod1(){
//code
System.out.println("重復代碼");/* 重復代碼塊 */
//code
}
public void someMethod2(){
//code
System.out.println("重復代碼");/* 重復代碼塊 */
//code
}
}
/---------------------分割線----------------------/
class GoodExample {
public void someMethod1(){
//code
someMethod3();
//code
}
public void someMethod2(){
//code
someMethod3();
//code
}
public void someMethod3(){
System.out.println("重復代碼");/* 重復代碼塊 */
}
}
分割冗長方法
將某些冗長的方法進行分割,使每個方法都能實現某種子功能,遵守單一原則,也可提高方法的可重用度。
優化嵌套條件分支
1、將不滿足某些條件的情況放在方法前面,并及時跳出方法,以免對后面的判斷造成影響。
class BadExample {
public void someMethod(Object A,Object B){
if (A != null) {
if (B != null) {
//code[1]
}else {
//code[3]
}
}else {
//code[2]
}
}
}
/---------------------分割線----------------------/
class GoodExample {
public void someMethod(Object A,Object B){
if (A == null) {
//code[2]
return;
}
if (B == null) {
//code[3]
return;
}
//code[1]
}
}
2、將條件分支合并,使代碼清晰
class BadExample {
public void someMethod(Object A,Object B){
if (A != null) {
if (B != null) {
//code
}
}
}
}
/---------------------分割線----------------------/
class GoodExample {
public void someMethod(Object A,Object B){
if (A != null && B != null) {
//code
}
}
}
模擬柯里化,消除過長參數列表
柯里化(Currying),把接受多個參數的函數變換成接受一個單一參數(最初函數的第一個參數)的函數。
將多個參數封裝成一個對象傳遞給方法,從而去除過長的參數列表。
提取類中使用到的常量
消除一些魔數或者是字符串常量
class BadExample {
public void someMethod1(){
send("您的操作已成功!");
}
public void someMethod2(){
send("您的操作已成功!");
}
}
/---------------------分割線---------------------- /
class GoodExample {
protected static final String SUCCESS_MESSAGE = "您的操作已成功!";
public void someMethod1(){
send(SUCCESS_MESSAGE);
}
public void someMethod2(){
send(SUCCESS_MESSAGE);
}
}
精練類的方法,讓類提供該提供的方法
定義類方法時,要讓這個類擁有它該擁有的方法,做它該做的事。
提取繼承類中重復的屬性與方法到父類
將子類中某些公共的屬性或方法,提取到父類中。
lambda取代內部類
將匿名內部類轉為Lambda表達式。Java8中讓人又愛又恨的Lambda表達式
//匿名類
Runnable r1 = new Runnable() {
@Override
public void run() {
System.out.println("Hello");
}
};
//Lambda表達式
Runnable r2 = () -> System.out.println("Hello");
消除巨類
當一個類擁有太多的代碼時,就需要對其拆分,提取出該類不需要承擔的職責。
清理冗贅類
Java中類并不是越多越好。清理合并那些沒有什么實際作用的類
代碼重構需要單元測試來支持,能夠確保修改的代碼不會帶來大的影響。代碼重構對提升編程技巧非常有幫助,只有發現代碼中的問題和缺陷,進行合理的修改重構,才能有針對性地規避某些錯誤。
以上就是小編為大家分享的所有內容,有想了解更多資訊或相關知識,可以關注學佳澳官網或微信公眾號“學佳澳工程實訓聯盟”。學佳澳一家專業的IT培訓機構!另外“學佳澳牛人課堂”微信公總號免費公開課全面上線,一大批干貨正在路上,想看的朋友記得點關注哦!
總結
以上是生活随笔為你收集整理的java编程代码大全_掌握Java编程技巧,代码重构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 沉默的糕点所有作品(沉默的糕点作品)
- 下一篇: python中数字应该用什么表示_Pyt