程式猿的終極噩夢,祖傳程式碼,一動修半年!
1024程式設計師節即將到來,今天我們就來聊點輕鬆詼諧的話題——那些讓人好氣又好笑的祖傳程式碼。
很多萌新們都經歷過:兢兢業業的檢查程式碼,結果挖出一堆不知多久以前的漏洞。當你信心滿滿準備修復,結果剛動手,整個系統就崩了。
這些前人貢(wa)獻(keng),也被稱為祖傳程式碼,是一代又一代程式設計師的噩夢。
《九章演算法班 2020版》擴充5倍課時
課程亮點:
- 疫情應對版《九章演算法班》,令狐沖老師擴容5倍課程量
- 8周內講解57個面試核心高頻考點
- 課程內容由9章節增加至43章
7天視訊回放,戳我即可免費報名
什麼是祖傳程式碼?
祖傳程式碼(legacy code),就字面意思而言,就是老程式猿留下“寶藏”程式碼。可能當初寫程式碼的人早就離開了,但程式碼邏輯混亂又無註釋,後人完全看不出來寫的是個啥!
要麼就是前人寫下的時候就不完美,歷經許久,業務需求也變了,隨便一動就到處是問題。
比如,你可能會遇到這樣的程式碼:
//add by xxxx 201x-x-x:
這是一段神奇的程式碼。。反正這麼寫就對了
幾乎每家公司的程式碼都有“歷史遺留問題”,而越是大公司,情況越嚴重。
亞馬遜的工程師形容他們的程式碼:“一座很大的屎山,你見過的最大的山,每次你想修正一個bug,都得爬到屎山的正中心去”。
最最可怕的是,有些祖傳程式碼,你一動, 就再也回不去了。
(圖源自知乎網友:同一輪月亮)
用這張圖再形象不過了?
可以用新程式碼替換祖傳程式碼嗎?
為什麼新程式碼不如舊的好?彆著急反駁!先聽我說完。
舊程式碼是已經執行過、測試過的。無數的bug在被發現前都上線執行過,發現之後程式設計師們可能在花了好些日子才修復了這些bug。
這種修復可能是一行程式碼,也可能是幾個字元,無數的時間和精力都花在了這些bug修復上。
當你決定拋棄這些舊程式碼從零開始的時候,也丟掉了前人的全部努力。而重寫可能會帶來更大的風險。
對技術leader來說,重寫程式碼也是一個異常艱難的決定。因為從公司層面說,重現程式碼甚至會威脅產品的市場競爭力。
一旦決定重寫程式碼,那麼與競品相比,你可能落後了2~3年——在軟體行業,這時間可夠長的。
新程式碼帶不來產品功能提升
即便新程式碼能實現舊程式碼搭建的所有功能,但實際上,重寫用的新技術、新語言、新框架並沒有給產品帶來質的飛躍。
更不用說這個耗時又耗力的過程,還容易遇到一些意外:
當你認為舊程式碼稀爛,那要怎麼辦?
先冷靜一下,畢竟這些舊程式碼已經上線,也在生產環境中經受住了考驗。這時候,可以從三個方面入手理解程式碼、改善程式碼:
現實情況是,你重寫一遍前人的程式碼,很有可能會再走一遍前人的老路。所以,面對糟糕的ShitCode,不要想著重寫。如果還能找到寫程式碼的人,先狠狠K一頓再說吧!
相關文章
- 為什麼程式碼重用仍然是一個安全噩夢
- 祖傳程式碼如何優化效能?優化
- 如何優化 Vue 祖傳程式碼優化Vue
- 當機噩夢,CTO也躲不過凌晨改程式碼
- 一名合格的程式猿修煉手冊
- Java 開發者的程式設計噩夢,為什麼你的程式碼總有 bug??Java程式設計
- Stupid && 祖傳Fortran程式碼救贖之路(編譯Dll)編譯
- 一個想活得簡單的程式猿的2022年終總結!
- [譯] 不用祖傳祕方 - 寫好程式碼的幾個小技巧
- 聞香識程式碼,什麼是衡量程式碼質量的終極標準?
- 小黃鴨除錯法-程式猿修煉之道除錯
- 程式猿必備的17款最佳的程式碼審查工具
- 世界盃所使用的應用程式帶來資料安全和隱私噩夢
- 程式猿的工資
- 一個老程式猿的焦慮3
- C語言是程式設計小白的噩夢,WEB開發成為轉行程式設計師的福音!C語言Web行程程式設計師
- 程式猿日常
- 夢斷程式碼讀書筆記(一)筆記
- 面對祖傳屎山程式碼應該採用的5個正確姿勢
- 零經驗噩夢般的面試面試
- 別人眼中的程式猿和現實中的程式猿差別在哪?
- 一個程式猿的2023總結:《尋找》
- Springboot 一行程式碼實現檔案上傳 20個平臺!少寫程式碼到極致Spring Boot行程
- 程式猿的心酸時刻
- 「小程式JAVA實戰」小程式的上傳(終結)(72)Java
- vscode遠端程式設計 終極方案VSCode程式設計
- 一行程式碼造成大量訊息傳送失敗?RocketMQ神解決之終極踩坑經驗行程MQ
- 一鍵修復王祖賢、林青霞照片的AI小程式火了,但技術還不到火候AI
- 體測,中國大學生的噩夢
- 非同步程式設計的終極解決方案 async/await:用同步的方式去寫非同步程式碼非同步程式設計AI
- 一個 PHP 程式猿學習 Go 的體悟PHPGo
- 程式猿應該具備哪些特質才能成為更好的程式猿呢?
- 程式猿生存指南-60 一晌貪歡
- 一份程式猿單詞列表(updating)
- 一鍵fxxk,程式碼修復神器拯救你
- 程式猿Skr —– Flutter之歌Flutter
- 程式猿Skr ----- Flutter之歌Flutter
- 1024 程式設計師節 | 請對身邊的程式猿好一點程式設計師