你以為大廠的代碼就不爛了?爛成一坨屎...
點擊“開發(fā)者技術(shù)前線”,選擇“星標(biāo)??”
在看|星標(biāo)|留言, 真愛


他發(fā)現(xiàn)團(tuán)隊高工的寫得代碼和開源的代碼一對比后,公司的代碼寫非常臃腫,差距也非常大。甚至好多代碼,寫的都比較復(fù)雜。這哥們告訴我:一個好簡單的功能要研究1-2天才能摸清代碼怎么改。。最后寫一行代碼。


如果是老的項目,幾乎新人一入職不久就接手了,如果之前維護(hù)這個項目的人,技術(shù)水平比較高,代碼行云流水、代碼規(guī)范,邏輯嚴(yán)謹(jǐn)度都很高,恭喜你,你獲取一個學(xué)習(xí)優(yōu)秀代碼的成長起點。對于你是幸運的,之前接觸過這樣的項目,真是寫的好,巧妙的設(shè)計模式,邏輯清晰,和讀系統(tǒng)源碼一樣。但是你沒那么幸運,接手一個水平不是很高的團(tuán)隊維護(hù)的代碼,那你就有事情做了,重新寫,還是重構(gòu)。爛代碼跟一坨屎一樣,很多時候就是和一坨屎共處千萬別深挖,說不定把哪里挖塌了把你埋了,扔一坨代碼到屎山上,達(dá)到自己目的,能跑就行了,你還要搞清楚山上的屎哪一坨是誰拉的,拉的人吃了什么,就沒什么意思了。能在超級大的屎山上扔一坨代碼進(jìn)去,把自己的事干了,也是本事真的,畢竟誰沒維護(hù)過爛代碼。復(fù)雜度足夠大,都會成為屎山的,什么設(shè)計模式都沒什么鳥用。這時候可以花時間加班來重寫吧,不然你干不下去的,等著你的要么走人。

有一天來個架構(gòu)師,也只能把垃圾代碼裝到垃圾箱,但垃圾代碼還是垃圾代碼。并沒有改變。

業(yè)務(wù)邏輯
業(yè)務(wù)邏輯復(fù)雜,一個系統(tǒng)和N多系統(tǒng)集成,一個業(yè)務(wù)對象上百個字段和幾十種狀態(tài),一個流程幾十個環(huán)節(jié),自己業(yè)務(wù)依賴他人的,別人寫的爛,自己也會被影響,反正寫的爛無所謂了??粗鴦e人集成的代碼反正也不知道哪里不對勁,代碼能跑就行,誰動誰背鍋。

然后扔一坨代碼到本來的屎山上,那就更爛了。

追求開源

大公司技術(shù)團(tuán)隊基本考慮利好招人、技術(shù)宣傳,一般都會做開源項目,開源項目發(fā)起后,基本要在短時間內(nèi)交付一個可使用的版本,在還沒有開源之前。通常項目會在內(nèi)部團(tuán)隊進(jìn)行接入實驗,因此首先被惡心的就是公司自己內(nèi)部的團(tuán)隊,項目Bug多,和已有的服務(wù)系統(tǒng)不兼容,各種接口適配、包裝。最后開源項目對外開源了,但內(nèi)部業(yè)務(wù)團(tuán)隊的遺留的接入層沒人維護(hù),甚至開源項目對外開源后,造輪子的團(tuán)隊完成KPI后,就拋棄不維護(hù)、或者作者已經(jīng)離職去其他大公司繼續(xù)造輪子了。
這樣造成代碼屎山有人堆,沒人鏟的局面,越來越臭。

注重效率
大公司對項目要求迭代快,尤其在大公司的孵化項目的初創(chuàng)團(tuán)隊,人員配置不完善,并且高層們?yōu)榱四孟率袌龇蓊~,會給業(yè)務(wù)施加壓力。所以要求短時間內(nèi)版本要上線,這樣一來,業(yè)務(wù)開發(fā)就沒時間去關(guān)注質(zhì)量,在這邊copy,那邊copy, 先上線再說,久而久之,后面的自己看到自己寫的代碼都會惡心死,本想改下?改了能有KPI?算了反正當(dāng)前程序能跑,懶得改。


技術(shù)棧不統(tǒng)一
大公司技術(shù)團(tuán)隊由非常多的業(yè)務(wù)部門組成,不同部門之間技術(shù)棧未必全部統(tǒng)一,每個業(yè)務(wù)部門一把手為了自己的一畝三分地,害怕自己團(tuán)隊被其他部門吃掉,穩(wěn)住技術(shù)護(hù)城河,通常也不愿意接入其他部門開發(fā)的輪子,甚至還要自己造輪子后惡意競爭,于是形成了不同部門有自己的技術(shù)棧,有的后端用Java, 有的用go。這樣一來,在部門間協(xié)作時會遇到系統(tǒng)無法互相調(diào)用,兩邊的開發(fā)人員又會開始瘋狂開發(fā)適配層接口,在本來就不怎么好的代碼上又打補丁,讓這座代碼屎山堆地更加高了。一旦某個部門被裁或者合并,這座代碼屎山會越來越薰,臭是暈留下的對方部門的技術(shù)同事。
最后留言說說你遇到的爛代碼,并且它是怎么樣的?
— 完 —
點這里??關(guān)注我,記得標(biāo)星呀~
前線推出學(xué)習(xí)交流一定要備注:研究/工作方向+地點+學(xué)校/公司+昵稱(如JAVA+上海
掃碼加小編微信,進(jìn)群和大佬們零距離
后臺回復(fù)“電子書” “資料” 領(lǐng)取一份干貨,數(shù)百面試手冊等
螞蟻金服開源了一款研發(fā)框架!還是增強(qiáng)版的
