創意歌曲:我是一段死程式碼

vaikan發表於2014-07-08

  死程式碼就是沒用的、但卻留在程式庫中的程式碼。這樣的程式碼沒有任何其它程式會呼叫它,沒有任何函式、物件引用它。它就在程式中,但程式的執行狀態跟它一點關係都沒有。

  為什麼程式中會有死程式碼?有可能是程式庫升級,老的介面不再使用。有可能是需求調整,但跟過時的需求相關的程式碼沒有被刪除。有可能是拷貝貼上的過程中,有些沒有用的函式也貼上了過來。有可能是重構的過程中,把老程式碼保留下來備份用。等等…..

  死程式碼是應該刪除的程式碼。沒有用的程式碼也就是沒有人維護的程式碼。最後將變成沒有人知道它是有什麼用處的程式碼。後來的人也開始不敢刪除這樣的程式碼,怕萬一什麼地方需要用到它。於是這樣的死程式碼積累的越來越多。技術債務越來越重。健康的專案慢慢腐爛變質。最終沒有人能維護。

  死程式碼應該及時大膽清除。很多程式設計師會擔心,萬一這段程式碼還有用呢?沒錯。因為你不熟悉這些程式碼,很多人修改過這些程式碼,沒準什麼地方還在用這段程式碼。但是,我們有程式碼保護工具:程式碼版本控制系統——git,svn等。即使是誤刪了程式碼,也能從歷史記錄裡恢復。

  最重要的,我們還有自動化測試。自動化測試是保證程式正確的最可靠的保證。無論做什麼修改,新增功能,刪除功能,最終都要執行自動化測試,讓所有的測試點都綠燈通過。如果你還在擔心害怕刪除死程式碼,很可能是因為你的專案沒有自動化測試。

  死程式碼,如果你不刪,它會很痛苦,因為無人問津它,無人呼叫它。它如同活死人,殭屍。下面這段視訊就是一位網友很形象的唱出了死程式碼們的心聲:

<embed>

相關文章