中文字幕亚洲欧美日韩在线不卡,亚洲欧美日产综合在线网性色,思思久久精品6一本打道,综合视频中文字幕

    <sub id="dxmnt"><ol id="dxmnt"></ol></sub>

      1. 12 年的祖?zhèn)鳌笆荷健贝a,年收入竟超 1.4 億元?程序員勸“接盤俠”:趕緊退退退!

        更新時間:2022-09-22 22:07:04作者:智慧百科

        12 年的祖?zhèn)鳌笆荷健贝a,年收入竟超 1.4 億元?程序員勸“接盤俠”:趕緊退退退!


        整理 | 鄭麗媛

        出品 | CSDN(ID:CSDNnews)

        講道理,許多做過代碼屆“接盤俠”的程序員們,某種程度上可能十分理解電影中執(zhí)著于毀滅世界的反派:“與其在現(xiàn)有基礎(chǔ)上修改,還不如直接把這堆祖?zhèn)鞔a毀滅再重建!”

        祖?zhèn)鞔a,從字面意思來看,就是一代代老程序員們留下來的“寶藏”代碼——這些長年累月的代碼中存有很多隱患,后來的“接盤俠”們要么無從下手,要么一改就崩,幾乎可以說是程序員們的“終極噩夢”,因此也被稱作“屎山代碼”。

        這不,最近又有一個“倒霉蛋”火上了 HN 熱榜:“我繼承了我見過的最差的代碼和技術(shù)團隊,該怎么辦?”


        擁有 12 年歷史、沒有版本控制的“祖?zhèn)鞔a”

        從這位“接盤俠” @whattodochange 闡述的現(xiàn)狀來看,他這次繼承的代碼歷史長達 12 年,是沒有版本控制的 PHP 代碼,居然每年還能產(chǎn)生超過 2000 萬美元(約人民幣 1.4 億元)的收入:

        以上就是 @whattodochange 目前所接盤的代碼和團隊現(xiàn)狀,他頭疼道:“我必須要找到一個策略來修復(fù)這個開發(fā)團隊。”

        面對這個“爛攤子”,@whattodochange 想到的解決辦法是完全重寫,但由于公司管理層和總部對這些阻礙因素并沒有真正了解,業(yè)務(wù)部門對這個項目有非常積極的規(guī)劃路線,且疫情之下公司的預(yù)算很緊張,導(dǎo)致 @whattodochange 根本無法推進。

        因此,@whattodochange 發(fā)帖求助:“我知道完全重寫是必要的,但要如何平衡?”

        逐一改動 or 擺爛跑路?

        對于 @whattodochange 的遭遇,不少有經(jīng)驗的程序員深有同感,也提出了一些應(yīng)對“祖?zhèn)鞔a”的具體建議。

        “完全重寫不是必需的,甚至可能是最糟糕的方法。可以一次做一件事,最終你會重寫所有代碼,但永遠不會陷入‘完全重寫’的陷阱中。 不過在重寫一行代碼之前,記得要做大量的測試。如果有端到端測試,這些測試運行在客戶群當前使用的每個功能中,那么您就有一個基線來安全地進行更改。只要測試通過,就可以刪除代碼。 不要想著去推動變革,嘗試擁抱這個每年賺 2000 萬美元的可怕代碼庫,和團隊討論討論如何在能力范圍內(nèi)改進即可?!?/blockquote>
        作為這個開發(fā)團隊的經(jīng)理,你的任務(wù)是要得到高管支持來逐漸解決這個爛攤子。你沒必要告訴高管或團隊具體要如何修復(fù),只要有時間和空間上的支持就好。 有一種辦法是每周五集合團隊一起來測試,但可能會經(jīng)常被緊急任務(wù)擠掉;另一種辦法是讓每個更新的發(fā)布速度稍慢一些,這樣就有時間優(yōu)化每次更新所涉及到的其他代碼。例如,業(yè)務(wù)要求添加功能 X,那么你就給相關(guān)的現(xiàn)有功能 Y 添加一個測試,可以對團隊說優(yōu)化 Y 是為了讓添加 X 更為方便?!?/blockquote>

        不過,也有部分程序員在了解 @whattodochange 的現(xiàn)狀后,認為“擺爛跑路”是最優(yōu)解:

        “你應(yīng)該考慮辭職。雖然你知道這代碼很爛,但它確實能帶來每年 2000 萬美元的收入,所以你的團隊不想變革,業(yè)務(wù)人員也不會關(guān)心代碼質(zhì)量。他們會認為:反正 2003 年樣式的 PHP 代碼就可以實現(xiàn)這個收入,那不挺好,干嘛要浪費財力和精力去重寫? 最后,你很難說服你的開發(fā)團隊和業(yè)務(wù)部門同意重寫這個決定,甚至還會招來仇視,而你自己也會討厭這樣的工作氛圍?!?/blockquote>
        “為了避免自己受傷,我勸你擺脫這種混亂的處境。我之前也一直處于類似的情況,花了快五年的時間試圖解決,但最后還是心累地放棄了?!?/blockquote>

        血淚教訓(xùn):“人跟代碼有一個能跑就行了”

        其實在現(xiàn)實中,幾乎所有軟件開發(fā)公司都有各種老大難的“祖?zhèn)鞔a”,像 @whattodochange 遇到這種 12 年歷史的都還算年輕的了——一般越大規(guī)模越厲害的公司,“屎山”代碼的情況越嚴重。

        類似地,國內(nèi)也有許多程序員分享過他們遇到的各種“骨灰級”祖?zhèn)鞔a:

        可能對于很多剛工作的萌新程序員來說,看見這些各處都埋著“地雷”的代碼第一反應(yīng)就是“推倒重來”,但大多都得到了血淚教訓(xùn):“有的時候,代碼能運行就不要嘗試去改,哪怕是遇到屎山一樣的代碼”,可能還會對新人建議道:“人跟代碼有一個能跑就行了?!?/p>

        那么,你是否在工作中遇見過令人發(fā)指的“祖?zhèn)鞔a”,最長擁有多少年歷史?你是選擇逐一改動還是放任不管?

        本文標簽: 代碼  程序員  whattodochange  php  接盤俠