維護程式碼庫的五個精華實踐

csdn發表於2013-12-12

  本文作者John CroisantAtomic Object網站的董事長兼聯合創始人,在這篇文章裡主要講述維護程式碼庫的重要性,拿修剪盆栽植物來比喻清理程式碼庫的必要性。為了保證程式碼庫的實用壽命和流暢的使用效果,定期進行程式碼庫整理是必不可少的過程。(以下編譯內容)

  乍一看,盆栽植物和大型軟體程式碼庫沒什麼共同點,但事實上它們有很多相似之處。因為這兩者都需要定期維護、清理以保持健康和持續增長。一旦它們被忽視,那也就是腐爛開始的時候了。

  大多數植物是很容易照顧的。但有一種蕨類植物是很難伺候的,如果水分不夠,或者是陽光不充足,鬱鬱蔥蔥的美貌也會變成乾癟的黃草。

  萬物有那麼多的相似之處,軟體專案同樣需要不斷地維護才能保持正常、良好的執行狀態。如果你花足夠的時間和充裕的精力去管理你的軟體專案,那麼它一定會更加成熟,並能在很長一段時間裡保持健康。那麼怎樣維護程式碼庫才能讓軟體專案正常工作呢?

  1. 關照整個程式碼庫環境。照顧植物的時候,首先要確保整個植物能夠得到足夠的水份和陽光,而不是給一部分枝葉曬到陽光就可以了。同樣,你需要不時的關注整個程式碼庫環境,而不是你現在所關注的、正在使用的那一小範圍的程式碼庫。因為程式碼庫會對儲存器裡的工作方式進行重新整理,所以開發者要關注資料冗長、程式碼不一致、無用程式碼等之前從不會注意到的東西。

  2. 將功能蔓延扼殺在萌芽狀態。盲目地將新功能新增到程式碼庫無異於將程式碼庫扼殺在一片混沌之中。在新增一個選項、功能、類或特性之前,要問問自己或者是開發團隊:真的有必要新增這些東西嗎?這是最合適的地方嗎?它所提供的重要的功能在其他地方有用嗎?在新增程式碼之前慎重的檢查一下程式碼庫,這能夠節省下很多時間。與其用那麼多時間去寫那些無用程式碼,還不如花點時間全面的檢查一下整個執行環境的一致性。這麼做的另一個目的就是為將來的程式碼庫維護做好充分準備。

  3. 清理混亂程式碼。如果在平時的開發工作中對程式碼漠不關心的話,相關程式碼之間可能會出現紊亂傾向,就像兩個藤蔓在生長過程中纏繞著對方一樣。所以,開發者需要花點時間重構程式碼,使用抽象和封裝技術,並在元件之間建立新的、明確的介面。這樣做有利於保持程式碼庫的整潔、工作上會更便利。

  4. 刪除無用程式碼。無用程式碼,說白了就是不再繼續使用的程式碼、沒用的程式碼、或者是被註釋掉的程式碼,可以說無用程式碼是一種比較常見的麻煩程式碼,尤其是在大型程式碼庫裡。這種程式碼就像植物的枯枝爛葉,積累在程式碼庫會對程式碼的理解和維護造成一定的阻礙。如果發現無用程式碼一直徘徊在程式碼庫裡,必須毫不猶豫的刪除它。當然了,最重要的是在平時的開發、維護中保持警惕!

  5. 移除冗餘的元件。當植物的枝葉過於茂盛的話,可以將它們修剪一下,或者是分成大大小小的枝杈。如果程式碼庫太大,這樣的方法也可以用在程式碼庫的清理上:首先要識別跟組織相關的元件,並將它們分成多個獨立的伴隨著目的明確的API類庫。同樣的方法也適用於規模較小程式碼庫:將冗餘的類庫分解為多個小類庫,或者是重構過多的功能,將它們分成無數個較小的功能。

  如果你只是想讓你的程式碼庫和簡簡單單的成長髮展,在沒有將程式碼庫作為一個整體去維護的前提下新增更多的程式碼和新功能的話,程式碼庫遲早會停滯不前,甚至是崩潰。如果真到了那個時候,你會發現後悔已經晚了,只能刪掉無用程式碼,來適應新的專案要求。防患於未然,只能是從源頭開始對程式碼庫進行整理、清潔。 

  原文:Atomic Object

相關文章