老代碼,到底能不能動

2023-10-28    分類: 網站建設

你入職一家新單位,被告知需要維護一個老產品,經理找質管給你開通了SVN權限,告訴你遷出哪個分支,然后告訴你說,就在這個分支上改,添加一個新接口,以便支持H5 Video。

于是你開始看代碼,云山霧罩,各種痛苦,完全搞不懂業(yè)務邏輯和代碼的關系,也鬧不明白這塊代碼為什么這么寫那塊代碼是幾個意思。你去問進來5個多月還沒轉正的老同事,他告訴你他也不懂,讓你湊合著加個新接口實現了功能就行。加了新功能就行。

你去問干了快一年的資格更老的同事,他叮囑你千萬別動里面的代碼,千萬別管里面什么樣,就在外面包一層,先交付新功能,其它的有時間再說,里面的邏輯十年沒人動過了,沒有一個人能說清楚怎么回事,你要是改,一不留神就遍地狼煙。

你怎么辦?

正方觀點:不能動——“我還有老婆和孩子”

@Mangiacapra

動完之后,會不會只剩下刪庫跑路這個結果了。

@李傅博

不動才10個bug,動完1000個bug。

@qqwenqqqi 

·理想的維護狀態(tài)

用適配器的思維進行一點一點的重構,盡可能的熟悉業(yè)務邏輯,找出業(yè)務邏輯的缺陷,接著寫文檔,干擦屁股的活兒(這是在時間有限,只維護這一項產品的時候)最后這個項目就可以隨意的揉捏了。

·普遍的狀態(tài)

當然上面說的情況是理想狀態(tài),但是一般老板和pm有時間預算的,在這種情況下,普遍只有先從經理說的分支哪兒入手,嘗試寫H5 VIdeo code. 最后出來的結果有可能有bUG。只有bUG出現了從點到面去維護了,因為先讓產品上線就是金錢。

·boss希望的狀態(tài)

1.如果是希望快速的開發(fā)出來走第普遍狀態(tài)解決

2.如果是希望走產品質量優(yōu)先走理想狀態(tài)重構解決

·閑談

從接手這個項目開始,你會發(fā)現代碼不可控是多么的糾結和無奈,你在該基礎上開發(fā)就很容易有bUG。所以接手這個項目的第一思維就是獲取代碼的控制權!從這個角度解釋就會發(fā)現:代碼的易讀性多么的重要,要寫通用的代碼,寫規(guī)范的代碼,項目文檔對交接是多么的重要。你為公司擦屁股,雖然是吃力不討好的活兒,但這是對自己的負責,對公司的負責,對下一任程序員的負責。你不擦屁股,總有人擦屁股,優(yōu)質的程序員普遍具有擦一切屁股的能力,還熱衷于擦屁股。

反方觀點:文檔會過時,代碼不會說謊

@安曉輝,CSDN知名博主

一旦老代碼沒人能夠把握,這些作為資產的代碼實際上已經丟了,不再有價值增長,原本的優(yōu)勢隨著同行們百舸爭流的追趕漸漸失去。這是對企業(yè)是一種損失。讀程序員其實也是一種損失。

自己不寫文檔卻老抱怨別人的代碼沒文檔,而碰見了有文檔的代碼卻又往往棄文檔如敝履。業(yè)界的代碼和文檔,少見匹配的。我們只能接受這個現實:代碼即文檔。

對維護老產品的程序員來講,弄明白產品設計邏輯和代碼實現邏輯是非常重要的,就只要如下兩個辦法:找到熟悉產品的前輩,讓他給你講講。如果你找了產品經理,他只能告訴產品設計上如何如何。如果你找了程序員,他通常會說就是這樣那樣,然后說一句高深莫測又拉仇恨的話:看看代碼就明白了。自己啃代碼,啃代碼,啃代碼。

所以,也可能有在外圍包裝的辦法,比如你封裝一個本地的HTTp Server,用舊ApI拿到數據作為HTTp流轉發(fā)一下就能支持H5 Video標簽了。也可能很多情況都存在折衷的替代辦法。

然而,能弄懂代碼是如何實現產品和業(yè)務的,還是有非常重要的好處——對程序員來講很重要的好處:文檔是會過時的,代碼是不會說謊的,讀懂代碼,你就真真正正明白了業(yè)務是如何實現的。對于沒人敢動而又核心的老代碼,你搞明白了,就占領了戰(zhàn)略要地,唯有掌握核心業(yè)務和代碼,才能彰顯自己的價值。

除此之外,讀代碼也是非常重要的學習途徑,尤其是經歷過線上考驗的代碼,必然尤其過人之處。在閱讀的過程中,我們可以學到很多東西,既可以學到業(yè)務,也可以學到設計。只要有心,處處都是成長的機會。最不濟,也鍛煉了閱讀代碼的能力,庖丁解牛之技成了,也可以在將來以無刃入有間,發(fā)揮用武之地。

當前標題:老代碼,到底能不能動
分享鏈接:http://www.muchs.cn/news31/291281.html

成都網站建設公司_創(chuàng)新互聯,為您提供移動網站建設App設計、網站策劃網站維護、電子商務、商城網站

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

營銷型網站建設