維護程式碼庫的五個精華實踐
本文作者John Croisant是Atomic Object網站的董事長兼聯合創始人,在這篇文章裡主要講述維護程式碼庫的重要性,拿修剪盆栽植物來比喻清理程式碼庫的必要性。為了保證程式碼庫的實用壽命和流暢的使用效果,定期進行程式碼庫整理是必不可少的過程。(以下編譯內容)
乍一看,盆栽植物和大型軟體程式碼庫沒什麼共同點,但事實上它們有很多相似之處。因為這兩者都需要定期維護、清理以保持健康和持續增長。一旦它們被忽視,那也就是腐爛開始的時候了。
大多數植物是很容易照顧的。但有一種蕨類植物是很難伺候的,如果水分不夠,或者是陽光不充足,鬱鬱蔥蔥的美貌也會變成乾癟的黃草。
萬物有那麼多的相似之處,軟體專案同樣需要不斷地維護才能保持正常、良好的執行狀態。如果你花足夠的時間和充裕的精力去管理你的軟體專案,那麼它一定會更加成熟,並能在很長一段時間裡保持健康。那麼怎樣維護程式碼庫才能讓軟體專案正常工作呢?
1. 關照整個程式碼庫環境。照顧植物的時候,首先要確保整個植物能夠得到足夠的水份和陽光,而不是給一部分枝葉曬到陽光就可以了。同樣,你需要不時的關注整個程式碼庫環境,而不是你現在所關注的、正在使用的那一小範圍的程式碼庫。因為程式碼庫會對儲存器裡的工作方式進行重新整理,所以開發者要關注資料冗長、程式碼不一致、無用程式碼等之前從不會注意到的東西。
2. 將功能蔓延扼殺在萌芽狀態。盲目地將新功能新增到程式碼庫無異於將程式碼庫扼殺在一片混沌之中。在新增一個選項、功能、類或特性之前,要問問自己或者是開發團隊:真的有必要新增這些東西嗎?這是最合適的地方嗎?它所提供的重要的功能在其他地方有用嗎?在新增程式碼之前慎重的檢查一下程式碼庫,這能夠節省下很多時間。與其用那麼多時間去寫那些無用程式碼,還不如花點時間全面的檢查一下整個執行環境的一致性。這麼做的另一個目的就是為將來的程式碼庫維護做好充分準備。
3. 清理混亂程式碼。如果在平時的開發工作中對程式碼漠不關心的話,相關程式碼之間可能會出現紊亂傾向,就像兩個藤蔓在生長過程中纏繞著對方一樣。所以,開發者需要花點時間重構程式碼,使用抽象和封裝技術,並在元件之間建立新的、明確的介面。這樣做有利於保持程式碼庫的整潔、工作上會更便利。
4. 刪除無用程式碼。無用程式碼,說白了就是不再繼續使用的程式碼、沒用的程式碼、或者是被註釋掉的程式碼,可以說無用程式碼是一種比較常見的麻煩程式碼,尤其是在大型程式碼庫裡。這種程式碼就像植物的枯枝爛葉,積累在程式碼庫會對程式碼的理解和維護造成一定的阻礙。如果發現無用程式碼一直徘徊在程式碼庫裡,必須毫不猶豫的刪除它。當然了,最重要的是在平時的開發、維護中保持警惕!
5. 移除冗餘的元件。當植物的枝葉過於茂盛的話,可以將它們修剪一下,或者是分成大大小小的枝杈。如果程式碼庫太大,這樣的方法也可以用在程式碼庫的清理上:首先要識別跟組織相關的元件,並將它們分成多個獨立的伴隨著目的明確的API類庫。同樣的方法也適用於規模較小程式碼庫:將冗餘的類庫分解為多個小類庫,或者是重構過多的功能,將它們分成無數個較小的功能。
如果你只是想讓你的程式碼庫和簡簡單單的成長髮展,在沒有將程式碼庫作為一個整體去維護的前提下新增更多的程式碼和新功能的話,程式碼庫遲早會停滯不前,甚至是崩潰。如果真到了那個時候,你會發現後悔已經晚了,只能刪掉無用程式碼,來適應新的專案要求。防患於未然,只能是從源頭開始對程式碼庫進行整理、清潔。
相關文章
- Oracle資料庫維護常用的SQL程式碼示例(zt)Oracle資料庫SQL
- 建立和維護大型Vue.js專案的10個最佳實踐Vue.js
- 程式碼結構-可維護性程式碼
- 可能有助於編寫更容易維護的Java程式碼DDD最佳實踐 - Maciej WalkowiakJavaMac
- 通義靈碼實戰系列:一個新專案如何快速啟動,如何維護遺留系統程式碼庫?
- 如何提高程式碼的可維護性
- 如何寫出無法維護的程式碼
- Ubuntu 22.04 Git 程式碼維護UbuntuGit
- dba日常維護過程介紹 摘自itpub精華帖
- 程式碼維護:改進程式碼的一些方法 (轉)
- 遠離麵條程式碼:編寫可維護的 JS 程式碼JS
- 書寫可維護程式碼的重要性
- 這樣可以寫出無法維護的程式碼
- 讓 Python 程式碼更易維護的七種武器Python
- 如何寫出讓同事無法維護的程式碼?
- STL程式設計實踐四:簡化輸入和提高可維護性 (轉)程式設計
- 8 個幫助你編寫可維護、精簡化前端程式碼的 CSS 策略前端CSS
- 維護程式的那些樂趣
- 四個保護資料安全的技術實踐
- 維護資料庫安全資料庫
- JNI程式碼實踐
- 11 個高效的同行程式碼審查最佳實踐行程
- Oracle資料庫密碼檔案的使用和維護(轉)Oracle資料庫密碼
- 如何編寫高質量和可維護的程式碼
- 如何編寫可維護的物件導向JavaScript程式碼物件JavaScript
- shell 指令碼實現的守護程式指令碼
- 實現彩色二維碼程式碼實
- 資料庫智慧運維探索與實踐資料庫運維
- 實施零信任網路訪問的五個最佳實踐
- SAP RETAIL 為門店程式碼維護Plant GroupAI
- 維護伺服器的五大步驟伺服器
- Oracle日曆表維護實踐:建表、準備資料Oracle
- 類的呼叫問題,對付大量程式碼中資料庫連線未及時釋放的程式碼維護問題資料庫
- 可落地的DDD程式碼實踐
- 聊聊「低程式碼」的實踐之路
- Android程式碼混淆的實踐Android
- 資料庫常用維護命令資料庫
- 面試題庫(長期維護)面試題