多數程式設計師不喜歡處理遺留程式碼。通常感覺就像在沼澤中尋找出路,每一步都可能是致命的。在這種情況下,沼澤是大量冗長函數的集合,其結構令人困惑,用晦澀的語言編寫,具有神秘的變數名稱、糟糕的文檔和古老的儀器。即使有任何測試,它們的覆蓋範圍也肯定不夠。復興遺留程式碼本身就是一門藝術。一門藝術一旦掌握,就非常有價值,可以帶來很多快樂和滿足。
在 VORtech
我們主要致力於擴展和改進現有程式碼。因此,我們已經看到了遺留程式碼典型的所有令人畏懼的怪癖。我們為能夠恢復 中歐電話號碼表 此類程式碼而感到自豪。讓我們解釋一下為什麼這麼重要以及它是如何運作的。
遺留程式碼的成本
為什麼要把預算花在提高程式碼品質上,同時(希望)獲得與以前相同的功能?一個非常重要的原因是整體擁有成本(TCO):改進低品質程式碼的努力是一項可以帶來巨大回報的投資
減少進一步開發和維護的工作量
降低未偵測到錯誤的風險,
降低如果原始編譯器或作業系統不再可用則無法繼續使用程式碼的風險。
一個經常使用的比喻是“技術債”,它將維護遺留代碼所花費的額外時間等同於支付貸款利息。當利息成本開始消耗預算的很大一部分時,投資減少債務就有意義了。
令人困惑的程式碼
典型的遺留程式碼是具有數千
行的檔案和函數,具有多個分支(if – else if – else)和深層嵌套循環、跳轉(轉到)以及提前退出和返回。這樣的構 微處理器模擬:虛擬世界中的實體運作 造使得程式碼就像彈珠機,
開發人員可以隨時被踢到任
何奇怪的方向。典型的模糊甚至誤導性的不帶元音的函數名稱和變數名稱當然無助於找到你的方法。更令人困惑的是過時的語言結構,例如FORTRAN 中的 COMMON 區塊或 C 中的複雜指標算術和隱式類型轉換。
儘管開發人員有著良好的意圖和專業技能
但程式碼庫是如何演變到這樣的狀態的?這通常是由於代碼的悠久歷史造成的。該程式碼是在特定上下文和特定目的的情況下編寫的。隨著時間的推移,環境發生了變化,新的應用程式和功能被添加到程式碼庫中,並且它的規模已經超出了原來的範圍。也許有些問題必須在短時間內解決,而快速的捷徑或解決方法似乎是最好的選擇。
這台精實的機器變成了
個反覆無常的多頭怪物,再也沒有人敢碰或戳了。同時,由於其多功能性以及所產生的經過充分驗證和可靠的結果,該應用程式的價值也在不斷增長。用戶已經對該程式有了更多的經驗,他們知道會發生什麼。