工作三年,天天鏟屎。。。

點擊藍色“程序員cxuan ”關注我喲

加個“星標”,及時接收最新文章

文章來源:https://juejin.cn/post/6896312475390574599

有一天,有幾條蟲子,干擾了老闆賺錢,老闆希望你能抓住它們。

你帶着年輕的銳氣,青春的活力,學藝多年積累的程序設計藝術,打開了公司的代碼倉庫

遠看,似乎一個運轉的機器,巨大的代碼堆積在一起形成了大致的輪廓,蠕動着前進。

湊近了一看,在不淨的框架中,亂碼般的語句在運轉,像生了麻風病的蛞蝓一樣在噴吐,粘稠的水在流動,而穿着格子衫的人羣則在焰柱旁圍成了一個半圓,這就是碼農的儀式。他們環繞着那不可名狀植物,不斷的伸手進去撥弄,又不斷的掏出一些東西填上去,使他堆積的更高,爲了防止到他,又掏出黏糊糊的糊糊,用力的塗抹,試圖把它們黏在一起。

這是一個前人留下的屎堆起來的一個克蘇魯縫合怪,看起來搖搖欲墜,有無數的蟲子爬來爬去。但勉強堆起了山一樣的形體,蠕動着爲老闆賺錢。

你滿心熱血,要對這座山進行清理,使它成爲一個魯棒的鋼鐵巨獸,可以隨時更換最新的部件,奔騰如飛,堅固異常,帶着兄弟們走向人生巔峯

你經過縝密的分析,順着蟲子留下的痕跡,終於找到了問題的源頭發現一坨很多年前某碼農因爲時代侷限或者水平有限拉的陳年舊屎,你覺得只要對它改良一下,梳理清楚結構,加強判斷與容錯,就可以變化成一個鋼鐵部件,讓這坨怪物離巨獸更近一步

你用力的挖掘其中的信息,卻發現,事情沒有那麼簡單,這一坨實際上不是孤立的一坨,而是和整個山體融合在一起。或者說,這座山實際上是一坨坨粘稠滑膩的克蘇魯,通過無數的觸角和粘液連接在了一起,這些克蘇魯伸出無數的觸角,伸進這座山體中未知的角落。

有看起來結構相同,但是出現了幾十上百次的重複邏輯。有無數道不知道伸向何處的判斷分支。有七零八落到處都是又無法解釋的神祕數字。有從表面直接伸向最底層的神祕調用。還有猜不出,看不懂,無法預計什麼時候會觸發,什麼時候會爆發的無數定時器。還有無數神祕的線程在獨立的掛在那裏,猜不出哪個什麼時候會忽然啓動,什麼時候會忽然掛起,什麼時候會忽然互相搶資源而死鎖,哪些資源會莫名其妙的被改動。神祕的鏈接,神祕的任務隊列,神祕的池,神祕的環形緩存,神祕的堆棧

他們耦合在一起,互相支撐,構成了一坨更大的克蘇魯屎怪,緩慢的蠕動。

你極其困難的清理和修改了其中的一點點內容,讓這一點點的內容脫離出耦合態,看起來清晰一點。結果,忽然屎山對面十萬八千行外,你永遠意想不到的一塊功能,忽然掛了。一個你完全在工作上沒接觸過的同事,通過他的盤查,發現是他維護的一個函數/方法、類、線程、內存塊,池,和你改動的部分是深度耦合的,你的解耦導致了難以理解的錯誤使他們的部分產生了錯誤。於是你被罵了,你只能再退一步,在一個更小的範圍內進行調整,但是發現,蟲子不止是由這一塊構成的,於是你追蹤者蟲子的足跡,去改良一個一個的模塊

在經歷了一輪又一輪的批評,幾乎結識了全公司所有模塊的負責人之後,你終於抓住了一條蟲子。但是在這個漫長的過程中,你早已忘卻初心。在無數次的趕工加班熬夜的迷糊中,被同事老闆捱罵後的憤懣中,表白失敗/和女朋友吵架/發現自己頭頂有點綠的低落中;無數次當做臨時代碼寫下,計劃單元測試完成後就重寫卻忘記的過程中,因爲偷懶或者不捨得打斷思路而而懶得抽出輪子而產生的超大代碼塊中。

留下了無數看起來結構相同,但是出現了幾十上百次的重複邏輯。無數道不知道伸向何處的判斷分支。大量的無法解釋的神祕數字。從表面直接伸向最底層的神祕調用。猜不出,看不懂,無法預計什麼時候會觸發,什麼時候會爆發的無數定時器。無數猜不出哪個什麼時候會忽然啓動,什麼時候會忽然掛起,什麼時候會忽然互相搶資源而死鎖,莫名其妙改動資源的神祕線程。神祕的鏈接,神祕的任務隊列,神祕的池,神祕的環形緩存,神祕的堆棧。

你要抓的哪條蟲子確實抓出來了。然而,在你沒看到的地方,隨着運轉,更多的新的蟲子正在茁壯的成長。

這時,你突然發現你的腳抽不出來了,幾條觸手順着你的腿向上攀延,你的手被深深地吸入泥沼一樣的屎山,你使盡全力想要抽出胳膊,但越是掙扎,陷得越深,彷彿屎山中心有一個冰冷的黑洞,要將所有接近的物體吞噬殆盡。你的精氣在一點點流失,一種極度的疲憊,但是又釋然的感覺湧了上來。此刻,你覺得舒適又滿足,漸漸地閉上了雙眼,你甘願奉獻頭髮與生命,將自己化作一塊補丁,維繫着系統的苟延殘喘。它再也沒法離開你了,你和你的頭髮,成了它的一部分

不知道過了多久。終於又有一條蟲子在運行中暴露,干擾了老闆賺錢。

老闆又安排了一個年輕人來抓住這條蟲子。這個年輕人帶着銳氣,青春和活力來到這座山前。

看到這搖搖欲墜的克蘇魯大山,不僅倒吸一口冷氣。

oh shit ! shit mountain!





北京


 往期推薦 

🔗


宣佈一件事情

躺平,他不香嗎?

《計算機網絡 PDF》搞起!

cxuan 連這 10 個問題都不會...

B 站,我直呼好傢伙!!!

計算機網絡的 89 個核心概念

TCP 基礎知識




本文分享自微信公衆號 - 程序員cxuan(cxuangoodjob)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章