怎樣提高代碼重用性

"代碼重用性"是開發(fā)人員經(jīng)常提起的問題。 但是到實際項目中,很多人并不知道怎么落地。

本文介紹一些方法,可以幫助你編寫可重用的代碼,節(jié)省寶貴時間。


一、 項目開始前,要有個正確的規(guī)劃

在開始正式編碼前,召集團隊成員,規(guī)劃應(yīng)用程序所有的需求,并按照水平方向分層,垂直方向模塊化的方式來劃分。

例如 —— 考慮一個需要數(shù)據(jù)模型、數(shù)據(jù)庫、組件控制器和視圖的應(yīng)用程序。 所有這些單元都應(yīng)該以同樣一種方式開發(fā),通過有效的分層,降低層與層之間的依賴。比較簡單的【表現(xiàn)層/業(yè)務(wù)層/數(shù)據(jù)持久層】的分法可以借鑒。 這些分層可能是團隊里不同人員負責的,好的分層方式,有助于將來的升級維護,技術(shù)鄰域常說的低耦合設(shè)計方式,就是這樣的道理。??

?高耦合的極端例子, 就是oracle版本升級的時候,一個簡單的bug,都需要非常專業(yè)的技術(shù)人員測試修改2周??梢姼唏詈舷到y(tǒng),在系統(tǒng)升級維護上,造成巨大的成本支出。


二、創(chuàng)建通用的功能函數(shù)類庫UtilityClass

這些類庫應(yīng)該是跟項目本身無關(guān), 可以直接在其他項目中使用。例如

所有日期字符串格式方法;

Html 錯誤代碼檢測和錯誤信息;

電子郵件驗證;

日期格式;

圖像壓縮;

圖像轉(zhuǎn)換(png-jpg 或反之亦然);

圖片下載;

Excel處理;

文件格式轉(zhuǎn)換;

可被抽象的, 在多個項目中,無差別使用的功能,都應(yīng)該添加到通用類庫UtilityClass中。


三、 盡力避免復制粘貼代碼片段

初級開發(fā)人員經(jīng)常將代碼片段從一個模型復制到另一個模型,而沒有為它創(chuàng)建一個單獨的公共類 。 當需要更改任何邏輯或要添加新代碼時,需要在所有其他地方進行更新。

任何一組代碼至少需要兩次,你應(yīng)該為其制定一個方法,一堆相似的功能或相同用途的功能放在一個新的類中, 一堆沒有任何依賴性的類構(gòu)成了一個包或可重用的庫。

當然初級開發(fā)人員可能是因為抽象能力弱,或者是圖前期的省事,大量復制粘貼代碼片段,造成后面系統(tǒng)維護困難的局面。


四、將一個復雜的過程拆分成幾個簡單的過程

拆解后,每個簡單的過程,都有比較明確的職能。? 這樣簡單的過程具有很好地重用性,而不是僅服務(wù)于一處代碼。

假設(shè)您需要解析一個 json 文件,選取一個出生日期并計算年齡。 這個任務(wù)非常小,以至于人們在大多數(shù)情況下都希望用一種方法編寫整個任務(wù)。 實際上你應(yīng)該分兩步來完成,解析 json 并從中創(chuàng)建一個模型對象, 然后傳遞給另外一個方法,該方法用于計算年份中兩個日期之間的差異,得出年齡。? 看似瑣碎的拆分,我們得到了2個可重用的過程,解析模型過程,計算年齡過程。 大部分初級人員需要養(yǎng)成正確拆解復雜過程的良好習慣。


五、做一個思想勤快,四肢懶惰的程序員

資深的技術(shù)會建議大家做一個思想勤快,四肢懶惰的程序員,一生不要寫兩次類似的代碼。 不斷提高抽象思維能力,以跨項目有用的方式編寫代碼/方法。

通過上面的介紹,大家對如何提高代碼重用性應(yīng)該有了不錯的了解。?

當然想要在代碼重用性層面上,有更進一步的造詣,需要更深入的研究, 比較好的方向就是借鑒低代碼編程。

低代碼編程的整個設(shè)計思想,把代碼重用性推向了極致。? 組件、元素、單頁、權(quán)限、事務(wù)、前后端函數(shù)等都是跨項目重用的。

原來認為無法抽象的業(yè)務(wù)層, 通過無結(jié)構(gòu)系統(tǒng)設(shè)計的思路,在線配置也完成了重用。

深奧的內(nèi)容,不適合于普通的技術(shù)人員,這里就不展開講, 歡迎資深的技術(shù)人員私信探討。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容