重構:幾個步驟簡化代碼,清晰邏輯結構

你遇到最長的代碼是多長?就我這幾年工作經驗,平時我們大多數都是在增刪改查。遇到的類和方法大多功能單一,都不太長。

之前接觸的其中一個項目。熟悉代碼的時候,遇到一個常用方法,當場懵逼。這麼長???。代碼大概如下圖,這個是直接用於controller層的方法。整整200多行。

重構:幾個步驟簡化代碼,清晰邏輯結構

仔細閱讀了一遍代碼,然後進行了梳理,知道了大體流程,最後進行了重構。

重構後代碼如下:

重構:幾個步驟簡化代碼,清晰邏輯結構

經過重構後,代碼僅僅只有40幾行。一屏顯示完整。而且可以快速理解代碼邏輯。後續修改就不用再去梳理一大片邏輯了。

實際上做的也很簡單,大概步驟如下:

1、 參數簡化:參數太長不美觀,一堆參數不利於觀看和理解。

重構:幾個步驟簡化代碼,清晰邏輯結構

2、 臨時變量優化:魔法值提取、命名規範。

重構:幾個步驟簡化代碼,清晰邏輯結構

3、 提取方法:不管是可以共用,還是有獨立邏輯的,都應該提取出來,這個方法提取出來後一共有這麼幾個方法。方法的命名也應該小心,應該是我們看到方法名稱就知道方法的作用。

重構:幾個步驟簡化代碼,清晰邏輯結構

抽取方法的過程就是把大邏輯拆成一個個獨立的小邏輯的過程。抽離完成那麼整個方法的邏輯也就基本梳理完成了。


總結:


僅僅十分鐘左右的代碼優化,就使代碼邏輯一目瞭然,不管後面是誰來看這個代碼,也能快速的理解,這就間接提升了我們工作效率。


不過這個類還是很長。5000多行的代碼。這個項目是一個APP的後端項目。我不知道當初是出於什麼原因,基本上這個App需要的業務接口都在這個類裡面。並且存在很多的長方法。這些問題都是不應該出現的。類的功能應該使他職責單一。代碼重構這條路還很長啊!


代碼重構主要注意的幾點:

1、參數控制:參數的數量控制,儘量不超過3個。命名也要注意,達到見名知意。

2、方法抽離:邏輯比較獨立或可共用的都應該提出出來。提取出來有幾個注意的地方。

a、是方法名稱要體現方法的作用。

b、是方法放的位置,有些是當前類,有些是父類,有些是一些其他實體。比如一個方法利用到的所以參數都是同一個類的參數,那麼這個方法就該存在這個類裡面,而不是調用的那個類。

3、修改了注意及時自測!!!


代碼重構實際上是一個大項目,有很多注意的地方,同時也有很多重構技巧。後面寫一個詳細一點的整理。


Java程序員日常學習筆記,如理解有誤歡迎各位交流討論!


重構:幾個步驟簡化代碼,清晰邏輯結構


分享到:


相關文章: