1. 文化與價(jià)值觀的扭曲
“屎山”成為勛章:代碼的復(fù)雜、晦澀和難以維護(hù)不再是被詬病的缺點(diǎn),而是變成了資歷和“智慧”的象征。誰能搞定最亂的代碼,誰就是“英雄”。會(huì)議上的吹噓會(huì)變成:“我那個(gè)模塊,全公司沒人能看懂,連我自己都看不懂!”
工匠精神的消亡:追求優(yōu)雅、清晰、可維護(hù)的代碼會(huì)被視為“書呆子氣”、“不切實(shí)際”或“效率低下”。重構(gòu)和優(yōu)化工作會(huì)被嚴(yán)重邊緣化,因?yàn)椤澳芘芫托校瑒e瞎折騰”。
知識(shí)壁壘成為護(hù)城河:程序員會(huì)故意將代碼寫得只有自己能懂,以此來提升自己在團(tuán)隊(duì)中的不可替代性,獲得虛假的“ job security ”(工作保障)。分享知識(shí)和最佳實(shí)踐會(huì)成為愚蠢的行為。
2. 技術(shù)層面的災(zāi)難
創(chuàng)新停滯:任何新功能、新需求的開發(fā)都會(huì)變得舉步維艱。因?yàn)榈讓邮且慧鐏y麻,任何改動(dòng)都可能引發(fā)難以預(yù)料的“蝴蝶效應(yīng)”。開發(fā)時(shí)間會(huì)從幾天激增到幾個(gè)月,大部分時(shí)間都花在定位和修復(fù)由“屎山”引發(fā)的詭異 Bug 上。
系統(tǒng)脆弱不堪:線上系統(tǒng)會(huì)變得極度不穩(wěn)定,崩潰和故障成為家常便飯。因?yàn)闆]人真正理解整個(gè)系統(tǒng),出了問題只能靠打補(bǔ)丁和重啟等“玄學(xué)”手段來臨時(shí)解決,治標(biāo)不治本。
技術(shù)棧徹底僵化:升級(jí)框架、庫或編程語言?想都別想!因?yàn)?/span>“屎山”與舊版本深度耦合,任何升級(jí)嘗試都如同在沼澤地里蓋摩天大樓,必然坍塌。公司會(huì)被永遠(yuǎn)鎖死在陳舊、不安全的技術(shù)上。
3. 商業(yè)與組織層面的沖擊
開發(fā)成本飆升:人力成本會(huì)急劇增加。你需要雇傭大量程序員來維持一個(gè)本可以由少數(shù)人維護(hù)的系統(tǒng)。而且,由于“英雄”稀缺,他們的薪資會(huì)高到離譜。
市場反應(yīng)遲鈍:競爭對(duì)手推出一個(gè)新功能,你的團(tuán)隊(duì)需要一年才能跟上。公司將徹底失去市場競爭力,最終被采用健康開發(fā)流程的對(duì)手淘汰。
人員流動(dòng)的惡性循環(huán):有追求、有能力的程序員無法忍受這種環(huán)境會(huì)迅速離開。留下的要么是安于現(xiàn)狀的,要么是“屎山”的創(chuàng)造者。團(tuán)隊(duì)整體技術(shù)能力會(huì)持續(xù)下降,加速“屎山”的堆積。
“巴士因子”極高:如果那個(gè)唯一能看懂某塊關(guān)鍵代碼的程序員被巴士撞了(或離職了),整個(gè)項(xiàng)目或業(yè)務(wù)線可能直接停擺。
4. 一個(gè)可能的“黑色幽默”場景
在這種文化下,可能會(huì)出現(xiàn)一些畸形的“榮耀”標(biāo)準(zhǔn):
“地獄級(jí)”調(diào)試:誰能解決一個(gè)由十層嵌套和全局狀態(tài)引發(fā)的、三年無人能解的 Bug,誰就會(huì)被封神。
“巫術(shù)”編程:代碼里充滿了未經(jīng)解釋的“魔法數(shù)字”和違背所有常識(shí)的 Hack。能寫出并維護(hù)這種代碼的人被視為“巫師”。
“考古學(xué)”開發(fā):新員工入職的第一課不是學(xué)習(xí)業(yè)務(wù),而是學(xué)習(xí)公司祖?zhèn)鞔a的“歷史”和“民間傳說”,成為一名“代碼考古學(xué)家”。
現(xiàn)實(shí)中的反思
事實(shí)上,在現(xiàn)實(shí)中,沒有任何一個(gè)理性的程序員會(huì)真正“以屎山為榮”。但*迫于商業(yè)壓力、緊迫的時(shí)間線、糟糕的管理和技術(shù)債的累積,很多程序員不得不“與屎山共存”,甚至產(chǎn)生一種扭曲的“斯德哥爾摩綜合癥”——他們可能會(huì)調(diào)侃、自嘲,并為自己能在如此惡劣的環(huán)境中生存下來而感到一絲“自豪”。
這種“偽自豪”其實(shí)是一種無奈和自我保護(hù),其背后是對(duì)改善無望的默認(rèn)。