接手了屎一样的代码 怎么办?
文/北媽
僅需?1.9分鐘?就能讀完
今天的文,帶點味兒
北鼻們大家好,我是北媽。
1、
今天刷知乎看到一個這個話題
回答這個問題前,先來看一個真實的故事,它每天在你身邊發生。
一個哥們擼碼時忽然怒氣沖天,大聲質問這TM誰寫的代碼,這么明顯的bug都能出,還不寫注釋,當時項目組的碼農們都心驚膽戰,不敢說話,害怕把自己揪出來示眾。
項目經理聽到發話了:XX,你查一下SVN記錄,查出來全公司通報,扣他年終獎。
這哥們:我已經在查了....
過了幾分鐘......
這哥們:不可能吧,這怎么可能呢?
大家都湊了過去,發現這段代碼是這哥們一年前自己提交的。
為了避免過度尷尬,大家都沒再提這個事情。
回到問題,是的,都是一堆臭shit,不做記號的話,還真分不出來是不是自己拉的。
看到這個,北媽突然就想起來,我這么多年是怎么在前人的各種屎山里艱苦爬行,而且我還給別人搭建了不止N座大小屎山。嘿嘿
有句話,說的非常好:祖傳代碼就像一座很大的屎山,你見過的最大的山,每次你想修正一個bug,你的工作就是爬到屎山的正中心去!
關于“代碼屎山”這個國內外都無解的神奇話題,俗稱N年前的代碼和技術棧,無比龐大和冗余,如今看起來像屎一樣,但你又毫無辦法。
2、
駕馭屎山的唯一方法,不是重構,而是不重構。
為什么有人可以在屎山里加功能?
很簡單:把屎山扒拉開,每塊聞一聞,找出和你要改的功能對應的那坨屎,把這坨屎套個塑料袋(封裝),你就可以假裝塑料袋里不是屎,是巧克力。然后,在旁邊拉一泡新的屎,等它風干成型(測試通過)就可以收工了。
當然,怎樣優雅地在一座屎山里閃轉騰挪,做到“百屎叢中過,片屎不沾身”,還是需要很多經驗和技巧的。
不過說白了,臭也只臭你程序員一個,老板還覺得你很狼性,客戶還覺得真香。
很多愣頭青覺得自己是天才,可以把屎山重構了。他們中的大部分人引發了屎崩,永遠埋在了幾千米高的屎山之下。
極少數人在泥屎流的洗禮中活了下來,浴屎重生。他們真的做到了,他們真的重構了整座屎山!
重構之后的那個東西,被后人稱為——
屎山2.0。
3、
當一個系統復雜度增加的時候,它的熵也會增加,這是宇宙規律。而有潔癖的碼農,他們非要強行降低這個復雜的熵——不是做不到,但需要巨大的能量,也就是成本。
你想讓誰來付這個成本?老板還是客戶?
屎山不是一天拉成的。每一代屎山的建設者,都是非常聰明的人。他們非常清楚繼續堆高屎山,未來將產生的代價。
他們理性中立客觀地評估了推翻屎山重建的成本,然后做出了一個充滿智慧的決定:
在屎山上繼續拉屎。
這個決定對于每一個人都是最優解,因為每一個人只需要對他當下的目標負責。
每一次“繼續拉屎”的決定都是正確的,不這樣做才令人匪夷所思。如果重構屎山,客戶很生氣,因為交付時間更長了,還會冒出許多以前沒有的bug。
老板很生氣,因為成本大增,而客戶毫無多付錢的意思。就連重構屎山的人自己也很生氣:天天鉆在屎山里996,搞得渾身屎味,工資卻一分錢沒漲。
屎山不擇細流,故能成其大。屎山代碼就這樣一天天長大,終于令最后接手的碼農感嘆:高山仰止,景行行止。
其實,屎山,是任何復雜系統的終極歸宿。
4、
就連微軟、谷歌、Oracle這樣的大公司,他們的產品也都是屎山。
chromium瀏覽器的源碼有十幾個G,雖然是開源的,但沒有人敢在如此險峻的屎峰上提交自己微不足道的屎坷垃,高處不勝寒。
至于微軟,呵呵……從win8到win11,10年了,控制面板還是有兩種口味:一種是古早味的,一種是蘋果味的。office從2016到2021,5年了,不拿放大鏡都看不出有什么區別。
這段話可能會讓你誤以為,微軟、谷歌都是垃圾。但實際上,他們肯定是地球上最強的軟件公司。
世界上最高的屎山,都是最聰明的屁股拉出來的。換了一般的程序員,屎山還沒壘出一個小屎包,就屎崩了,就這點水平還天天嚷嚷著要重構屎山。
喬布斯曾說:死亡是最好的創新。
所有代碼的最終歸宿都是墳墓,而絕大多數代碼早已死無葬身之地。屎山是不可能重構的,這輩子都不可能重構的。
打敗屎山的唯一方法,唯有另起爐灶,建一座新的屎山。這就是為什么在巨頭們巍峨連綿的屎山腳下,總能有新的小屎包崛起。
當然,對于血氣方剛的少年,我知道,你很可能覺得我在扯淡,屎山有什么好怕的,重構就是了。
當年我比你還血氣,還剛,但如今我也在給后人不停的堆高屎山。
無論你使用何種語言,師從什么流派,哪怕23種設計模式樣樣精通,最終還是會踏上前往屎山的道路。因為,條條大路通屎山。
明知山有屎,偏向屎山行。來,壯士,干了這碗屎,我絕不會攔著你。
------
每日金句:“心情不好的時候,不想說話,不想社交,你不妨試一試隨便找一輛公交車,圍著城市兜一圈,看看人間疾苦,或許就好了”
精品閱讀
人,還是要去大城市!
勸你裸辭和創業的人,非傻即壞!
我掙的第二個一百萬,到手嘍!
談工資,最忌諱的3點忠告!面子比漲薪還重要?
點擊公眾號關注,和北媽一起洗洗腦
總結
以上是生活随笔為你收集整理的接手了屎一样的代码 怎么办?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 下载单词英语单词_单词如何塑造体验
- 下一篇: 图灵奖Alan Kay:突破常规思维!道