天天看點

為什麼祖傳代碼被稱為“屎山”?

任何設計人員,你幾年之後再來看自己現在的作品,你就會覺得簡直就是狗屎,拿出來真tm丢人。

如果你沒有這種感覺,那說明你這行幹不久了。

說到祖傳代碼不得不提之前在知乎上看到的兩位網友的經曆:

我剛入職第一天,旁邊的妹紙告訴我,你是今年第五個負責這個子產品的,心裡涼了半截,這TMD才七月份啊,聽她說最長的幹了兩個月。

我就不信那個邪,頁面互動一般,後端不也就增删改查?能難到哪裡去。

看了代碼才知道,too young,too simple。

裡面最老的代碼是09年那會的,直到現在一直在維護,今剛好十周年慶典,我光榮接盤,這大概就是代碼屆的接盤俠吧,現在用的還是jdk1.6,不分什麼前端後端,頁面都是用Java寫的,最坑的是裡面的js,有四五個公用的js檔案,大概幾萬行代碼,注釋掉的代碼占三分之二,大概是我這麼多年見過最多的注釋了,是誰說注釋多的代碼品質高的?出來,我不打死他。

說來也怪,兩個月了還沒給我安排需求,就是來的那個禮拜說了句讓我看代碼,每天早上一杯咖啡,頁面點一點,心情好就看看代碼,日子過得很是惬意,這大概就是程式的春天吧!真不知道前面那四個哥們放着這大好的日子不過,咋跑了呢?

一天中午,項目經理喊我,問我代碼看得怎麼樣了?從項目架構說到業務邏輯,其實有個屁的架構,随便扯了五六分鐘,項目經理笑了笑,點了點頭,很是滿意的樣子。

“小李,這有有個bug,你去修一下“

“嗯嗯,沒問題“意料之中,畢竟也快兩個月了。

“下個月初,你争取弄完哈“說話的時候十七八号的樣子。

“沒問題。“

開始寫代碼了,帶着一絲激動,畢竟兩個多月沒操練了,也帶着一絲膽怯,因為是個人都能看出來這是是否能順利轉正的關鍵一戰。

兩個多月來,最認真的看了一天代碼,我在哪裡?我是誰?我在幹什麼?是哪個智障寫的函數,十幾個行參,變量命名漢語拼音占了一大半,我嚴重懷疑這是國小生寫的代碼,還智障一樣的不分前後鼻音,國小國文老師怕是後勤老師教的(真不是看不起後勤老師),函數内部無止境的遞歸調用,本以為快結束了又來個回掉函數,一個函數有800多行。果然出來混還是要還的,過了兩個月的春天,一下子跌進了冰窖。

這樣的日子渾渾噩噩的過了七八天,招我進去的那個技術老鳥實在不忍心,過來指點我。

“小夥子,你這樣看代碼,估計明年春天也搞不定,你這個bug,是第三個人上線的時候寫出來的,你重點看下他送出代碼的部分“

一語驚醒夢中人,隻能用這最白癡的辦法了。

看了三天,終于找到問題所在,花了十分鐘,搞定。然後技術經理核查了我兩個小時代碼才放心讓我上線。

後面有一次和項目經理吃飯,“小李,前面四個人都跑路了,我就看好你,你知道為什麼當初你剛來那兩個月,我啥也沒讓你幹?我是怕你一開始就做需求,扛不住跑路。”

“經理,那代碼那麼老了,怎麼不重構一下“

“上一次重構代碼的項目經理已經被大老闆開了“

可能大家又會有疑問,問什麼就不能重構呢?

難道你們不知道,重構祖傳代碼就跟遷祖墳一樣,稍有不慎就萬劫不複!

這可能就是大家為什麼都說祖傳代碼就是屎山的原因吧!

一個哥們上班時忽然怒氣沖天,大聲質問這TM誰寫的代碼,這麼明顯的bug都能出,還不寫注釋,當時項目組的碼農們都心驚膽戰,不敢說話,害怕把自己揪出來示衆。

項目經理聽到發話了:XX,你查一下SVN記錄,查出來全公司通報,扣他年終獎。

這哥們:我已經在查了....

過了幾分鐘......

這哥們:不可能吧,這怎麼可能呢?

大家都湊了過去,發現這段代碼是這哥們一年前自己送出的。

為了避免過度尴尬,大家都沒再提這個事情。

我們回歸到标題,“為什麼祖傳代碼被稱為屎山?”。

經過這兩個故事後,我得到一個結論:

是的,都是一堆臭屎,不做記号的話,還真分不出來是不是自己拉的。

當然,屎山隻是小公司的祖傳代碼代名詞。

大公司的祖傳代碼呢?

那是屎海上漂浮的僵屎山。

你就在這屎海裡面漂着,一旦進來了,就出不去了。

每天的工作,就是在糞泳前進。還有拉着部門的糞船前進。

各個部門的糞船每天繼續産出新鮮的屎,投放到屎海裡,它們不斷聚集,成為新的屎山。

舊的屎山順着洋流還互相親熱着,迸發出岩漿般熱情的屎,掉落在你頭上和身邊。

你不得不一邊拼命地遊以自保、一邊還想盡辦法地不沾太多屎到身上。

系在你身後的是部門的大船,部門上司坐在船上,用傘和棍子推着避免撞上屎山。

偶爾有個負責的上司,還會願意讓你上上船休息。

可惜一旦你沾着太多的屎了,或者讓船沾着太多的屎了,就等着被踢下船去吧。

偶爾有那心有抱負的人,嘗試着改變這一切。

他們以為找到了一些仿佛可以容易對付的屎山,想着要重構,說他們看到了一條幹淨的出路。

但是,他們還是太年輕了。

因為,他們看到的,隻是屎山的一角。

他們帶着部門的船從旁邊劃過,卻不知這就是昨日的泰坦尼克......

希望這個有味道的答案會令大家滿意

不說了,我要去...嘔...嘔...嘔...

.......

轉載于:https://blog.51cto.com/14186420/2367988