代碼能跑就不要?jiǎng)樱瑸槭裁次覀兌紩?huì)有這樣的想法茫藏?

為什么程序員會(huì)有代碼能跑就不要?jiǎng)拥挠^點(diǎn)误趴?

今天就和大家說說這個(gè)有趣的話題。

image
image.gif

針對(duì)這個(gè)問題某乎上有個(gè)小哥講了一個(gè)小故事务傲,先分享給大家:

新來的程序員小哥覺得代碼不規(guī)范凉当,內(nèi)存釋放的模塊很混亂。這可能有隱藏的風(fēng)險(xiǎn)售葡。接下來纤怒,他做了整合,把內(nèi)存釋放進(jìn)行了模塊化天通,專門整好了泊窘。代碼變的更優(yōu)質(zhì)了,對(duì)吧像寒?到這里算是好的烘豹。

然后過幾天,就出事了诺祸,生產(chǎn)出現(xiàn)重大故障携悯。系統(tǒng)內(nèi)存泄漏,系統(tǒng)崩了筷笨,影響客戶使用憔鬼」昃ⅲ客戶投訴,扣錢轴或。然后整個(gè)項(xiàng)目組開始大排查昌跌。排查到最后,就是這個(gè)內(nèi)存釋放的優(yōu)化照雁,有個(gè)位置漏了蚕愤,沒改到。但是其他位置全改掉了饺蚊。然后這個(gè)沒改到的位置萍诱,內(nèi)存長(zhǎng)期不釋放。好了污呼,內(nèi)存爆了裕坊,內(nèi)存泄露,系統(tǒng)崩潰燕酷。就是這個(gè)優(yōu)化籍凝,導(dǎo)致了重大故障。

然后全公司通報(bào)批評(píng)悟狱。要求項(xiàng)目組整改,并且出檢討堰氓,現(xiàn)在能理解了嗎挤渐。代碼能跑,就別改双絮。

image
image.gif

辣條對(duì)這個(gè)倒是沒有太大感覺浴麻,也沒有很多工作這塊的經(jīng)驗(yàn),不過之前暑假實(shí)習(xí)囤攀,有位前輩和我聊過這個(gè)話題软免,他大致是這么看的:

很多中小型公司和一部分大公司對(duì)于代碼質(zhì)量、開發(fā)效率等基礎(chǔ)設(shè)施建設(shè)沒有什么追求焚挠。這些公司的商業(yè)模式側(cè)重在業(yè)務(wù)邏輯方面膏萧。由于各種原因(比如壟斷等),用戶對(duì)于產(chǎn)品質(zhì)量沒有什么話語權(quán)蝌衔,不得不容忍系統(tǒng)和應(yīng)用的缺陷榛泛。這使得此類公司的技術(shù)團(tuán)隊(duì)從KPI的角度沒有足夠的動(dòng)力去改良代碼和系統(tǒng)的質(zhì)量,除非這種改良可以直接帶來商業(yè)利益噩斟。

具體來說曹锨,比如一個(gè)提供打車或者外賣服務(wù)的平臺(tái),它的商業(yè)收益主要來自于線下的用戶行為剃允。改善代碼質(zhì)量只有在用戶數(shù)量增長(zhǎng)需要擴(kuò)容服務(wù)沛简、提高性能的時(shí)候才有正的商業(yè)收益齐鲤。除此之外,改善代碼質(zhì)量幾乎沒有可見的商業(yè)收益椒楣。這給中層管理者帶來很大的挑戰(zhàn)给郊,因?yàn)樗麄冃枰プC明投入工程資源的產(chǎn)出。如果這種產(chǎn)出無法直接或間接地通過銷售增長(zhǎng)撒顿、用戶增長(zhǎng)等指標(biāo)反映出來的話丑罪,中層管理者就不會(huì)愿意讓自己管理的開發(fā)者去改善代碼質(zhì)量。

長(zhǎng)此以往凤壁,代碼庫中會(huì)逐漸累積各種技術(shù)債和潛在的缺陷吩屹。隨著時(shí)間的推移,重構(gòu)代碼的代價(jià)會(huì)越來越大拧抖,風(fēng)險(xiǎn)也越來越高煤搜。這種情況下從風(fēng)險(xiǎn)收益比來看,盡量不要改動(dòng)能夠運(yùn)行的代碼是一種局部最優(yōu)的策略唧席。

只有當(dāng)代碼質(zhì)量嚴(yán)重影響了系統(tǒng)的穩(wěn)定性以后擦盾,中層甚至高層管理者才會(huì)有動(dòng)力去投入資源做大范圍的重構(gòu)和改良。而這種時(shí)候通常伴隨著技術(shù)團(tuán)隊(duì)人員流動(dòng)淌哟,很容易出現(xiàn)全部推翻重寫的局面迹卢。

image
image.gif

辣條個(gè)人認(rèn)為倒也不是絕對(duì)的。這取決于你個(gè)人對(duì)整個(gè)項(xiàng)目的熟悉和理解程度徒仓。

可以動(dòng)的情況如下:

  • 你是項(xiàng)目的主要代碼貢獻(xiàn)者之一腐碱,你對(duì)每個(gè)模塊做什么都有充分的理解,知道修改帶來的影響掉弛。
  • 項(xiàng)目成敗責(zé)任在你症见,你需要判斷某個(gè)模塊如果不修改的風(fēng)險(xiǎn),以及事故發(fā)生時(shí)會(huì)造成什么損失殃饿。
  • 雖然之前的代碼很亂但能跑起來谋作,但項(xiàng)目還沒上線,為了日后系統(tǒng)的穩(wěn)健乎芳,你決定大動(dòng)干戈遵蚜,重構(gòu)一下。

不要?jiǎng)拥那闆r:

  • 你往一個(gè)巨大的項(xiàng)目里面添加了小功能奈惑,為小功能而且修改已經(jīng)存在很久的部分谬晕,風(fēng)險(xiǎn)是很大的,除非你有充分的理由携取。
  • 項(xiàng)目bug很多攒钳,改了一個(gè)bug會(huì)有n個(gè)新bug出現(xiàn)。
  • 項(xiàng)目已經(jīng)上線雷滋,如果需要大改動(dòng)不撑,需要測(cè)試文兢。

個(gè)人建議:

  • 如果你的代碼能跑,但你不知道它為啥能跑焕檬,你還是不要提交這種代碼了姆坚,搞懂了再提交。
  • 寫單元測(cè)試实愚,以后修改了跑一次全部測(cè)試兼呵,也知道修改帶來了什么影響。
image
image.gif

** 元芳腊敲,你是怎么看的呢击喂?歡迎在評(píng)論中留言。**

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末碰辅,一起剝皮案震驚了整個(gè)濱河市懂昂,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌没宾,老刑警劉巖凌彬,帶你破解...
    沈念sama閱讀 218,284評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異循衰,居然都是意外死亡铲敛,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門会钝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來伐蒋,“玉大人,你說我怎么就攤上這事顽素⊙氏遥” “怎么了徒蟆?”我有些...
    開封第一講書人閱讀 164,614評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵胁出,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我段审,道長(zhǎng)全蝶,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,671評(píng)論 1 293
  • 正文 為了忘掉前任寺枉,我火速辦了婚禮抑淫,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘姥闪。我一直安慰自己始苇,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,699評(píng)論 6 392
  • 文/花漫 我一把揭開白布筐喳。 她就那樣靜靜地躺著催式,像睡著了一般函喉。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上荣月,一...
    開封第一講書人閱讀 51,562評(píng)論 1 305
  • 那天管呵,我揣著相機(jī)與錄音,去河邊找鬼哺窄。 笑死捐下,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的萌业。 我是一名探鬼主播坷襟,決...
    沈念sama閱讀 40,309評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼咽白!你這毒婦竟也來了啤握?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,223評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤晶框,失蹤者是張志新(化名)和其女友劉穎排抬,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體授段,經(jīng)...
    沈念sama閱讀 45,668評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蹲蒲,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,859評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片尉尾。...
    茶點(diǎn)故事閱讀 39,981評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡搔课,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出卡睦,到底是詐尸還是另有隱情,我是刑警寧澤漱抓,帶...
    沈念sama閱讀 35,705評(píng)論 5 347
  • 正文 年R本政府宣布表锻,位于F島的核電站,受9級(jí)特大地震影響乞娄,放射性物質(zhì)發(fā)生泄漏瞬逊。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,310評(píng)論 3 330
  • 文/蒙蒙 一仪或、第九天 我趴在偏房一處隱蔽的房頂上張望确镊。 院中可真熱鬧,春花似錦范删、人聲如沸蕾域。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽旨巷。三九已至廓块,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間契沫,已是汗流浹背带猴。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留懈万,地道東北人拴清。 一個(gè)月前我還...
    沈念sama閱讀 48,146評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像会通,于是被迫代替她去往敵國(guó)和親口予。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,933評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容