我們來(lái)聊聊技術(shù)債務(wù)

技術(shù)債務(wù)

「技術(shù)債務(wù)」是開(kāi)發(fā)團(tuán)隊(duì)在設(shè)計(jì)或架構(gòu)選型時(shí)苟耻,從短期效應(yīng)的角度選擇了一個(gè)易于實(shí)現(xiàn)的方案吱瘩。但從長(zhǎng)遠(yuǎn)來(lái)看,這種方案會(huì)帶來(lái)更消極的影響媒咳,亦即開(kāi)發(fā)團(tuán)隊(duì)所欠的債務(wù)拄轻。

簡(jiǎn)單的說(shuō)就是為了快速地解決問(wèn)題,而采取的不規(guī)范的方案伟葫。

比如:開(kāi)發(fā)工程師將某個(gè)判斷條件寫(xiě)死恨搓、測(cè)試工程師未進(jìn)行深入自動(dòng)化測(cè)試、架構(gòu)師運(yùn)用了一個(gè)即將過(guò)時(shí)的框架筏养。

危害性

對(duì)于房貸斧抱,大家肯定每個(gè)月都記著去還。

但是渐溶,對(duì)于技術(shù)債務(wù)辉浦,大家似乎都不那么關(guān)心。

的確茎辐,這個(gè)東西不一定誰(shuí)借誰(shuí)還宪郊,可能一個(gè)人的代碼中產(chǎn)生了技術(shù)債務(wù),可能是由于項(xiàng)目做拖陆,工作壓力大弛槐,離職了。

那么依啰,這筆債務(wù)就壓在了工作接替者的身上乎串,古人語(yǔ):父?jìng)觾敚恢肋@叫什么速警,O(∩_∩)O哈哈~

比如我們?cè)谝粋€(gè)類中欠下了技術(shù)債務(wù)叹誉,如果對(duì)這個(gè)類進(jìn)行擴(kuò)展、修改闷旧,或按照原來(lái)錯(cuò)誤的寫(xiě)法寫(xiě)了一些新的業(yè)務(wù)方法长豁。

用不了多久,我們就會(huì)發(fā)現(xiàn)我們已經(jīng)無(wú)力償還這份技術(shù)債務(wù)啦忙灼,只能重構(gòu)啦匠襟。

客戶:經(jīng)常BUG纏繞,長(zhǎng)期缺失的需求不能上線缀棍。

運(yùn)營(yíng):不合理的界面設(shè)計(jì)宅此、文檔缺失、系統(tǒng)響應(yīng)慢爬范。

運(yùn)維:頻繁的BUG修復(fù)上線父腕。

管理層:各方的抱怨讓管理層崩潰,尤其是BUG青瀑、延期等問(wèn)題璧亮。

研發(fā):開(kāi)發(fā)人員的工作比較多面萧诫,一方面開(kāi)發(fā)新的需求,另一方面又要維護(hù)他人遺留的代碼枝嘶。

所有的問(wèn)題帘饶,最終都會(huì)回到研發(fā)人員進(jìn)行再次開(kāi)發(fā)、修復(fù)群扶,所以 加班及刻,加班,加班...

其實(shí)每一個(gè)研發(fā)都不愿意出低質(zhì)量的產(chǎn)品竞阐,也沒(méi)有人愿意接受滿手都是坑的代碼缴饭。

分類

  • 無(wú)意的

由于經(jīng)驗(yàn)的缺乏導(dǎo)致初級(jí)開(kāi)發(fā)者編寫(xiě)了質(zhì)量低劣的代碼。

解決方案:

1.技術(shù)培訓(xùn)

畢竟大部分的程序員學(xué)習(xí)能力還是很強(qiáng)的骆莹,部門(mén)牛人的培訓(xùn)還是很有必要的颗搂,也是學(xué)習(xí)的重要途徑之一。

從最開(kāi)始的代碼規(guī)范幕垦、到熟悉業(yè)務(wù)丢氢、最后再到編寫(xiě)文檔。

2.CodeReview

CodeReview 是非常重要的先改,同時(shí)也是對(duì)自身的一個(gè)提高疚察。

在這個(gè)階段不同工程師之間可以相互review,審查別人的代碼能夠發(fā)現(xiàn)很多問(wèn)題,同時(shí)也能學(xué)到很多知識(shí)盏道。

  • 有意的

團(tuán)隊(duì)根據(jù)當(dāng)前而非未來(lái)進(jìn)行設(shè)計(jì)選型稍浆,這種方式可能很快就能解決當(dāng)前的問(wèn)題,但卻很拙劣猜嘱。

這就情況很可能是為了圖省事才這樣干的。

也有可能是工期太短嫁艇,人員太少朗伶,技術(shù)問(wèn)題等等。

推薦方法

  • 系統(tǒng)設(shè)計(jì)的框架是對(duì)的

必須能夠有效處理當(dāng)前需求可預(yù)見(jiàn)的情況步咪,對(duì)于未知的论皆、可能出現(xiàn)的特殊情況,很小的改動(dòng)就能解決問(wèn)題猾漫。

根據(jù)當(dāng)前的業(yè)務(wù)点晴,進(jìn)行合理的創(chuàng)建數(shù)據(jù)表,盡量的代碼解耦和悯周。

必須有日志模塊粒督,操作日志,錯(cuò)誤日志禽翼,業(yè)務(wù)日志等等...

  • 所有的工程師有主人翁的意識(shí)

開(kāi)發(fā)前屠橄,針對(duì)產(chǎn)品提出的需求族跛,進(jìn)行要進(jìn)行細(xì)節(jié)確認(rèn),自己也可以畫(huà)一個(gè)程序的流程圖锐墙。

開(kāi)發(fā)時(shí)礁哄,首先把流程全部順下來(lái),其中遇到調(diào)用其他接口溪北、技術(shù)難點(diǎn)桐绒、需求模糊,及時(shí)確認(rèn)或記錄 TODO 標(biāo)簽之拨。

開(kāi)發(fā)后茉继,及時(shí)對(duì)自己的流程進(jìn)行確認(rèn),查看代碼中是否有未解決的地方敦锌。

每個(gè)公司都有自己任務(wù)管理系統(tǒng)馒疹,例如JIRA之類的,提測(cè)后乙墙,時(shí)時(shí)關(guān)注自己的BUG颖变。

如果與產(chǎn)品有分歧的地方一定要及時(shí)溝通,達(dá)成共識(shí)听想。

  • 一定要有健全的測(cè)試環(huán)境腥刹、預(yù)發(fā)布環(huán)境、正式環(huán)境

因?yàn)橛行┏绦蚩赡苄枰M(jìn)行壓力測(cè)試汉买,所以服務(wù)器的配置還是很關(guān)鍵的衔峰。

多個(gè)環(huán)境的測(cè)試,更能保證程序的健壯性蛙粘。

  • 定期處理一些技術(shù)債務(wù)

等產(chǎn)品上線后垫卤,開(kāi)發(fā)就沒(méi)有那么緊啦,這個(gè)時(shí)間大家可以找個(gè)時(shí)間處理技術(shù)債務(wù)出牧,一邊建立感情穴肘,一邊品味一下原來(lái)的代碼,是不是酸爽無(wú)比舔痕。

  • 善于發(fā)現(xiàn)系統(tǒng)的技術(shù)債務(wù)

勇于發(fā)現(xiàn)系統(tǒng)中的技術(shù)債務(wù)评抚,當(dāng)然不是為了所謂的獎(jiǎng)勵(lì),僅僅是為了自己的提高伯复,讓自己為系統(tǒng)負(fù)責(zé)慨代,而不是事不關(guān)己高高掛起。

當(dāng)然啸如,最重要的其實(shí)是把技術(shù)債務(wù)的重要性提到一個(gè)被認(rèn)可的位置上侍匙。

工程師如果能遇見(jiàn)一個(gè)債務(wù)可能導(dǎo)致的問(wèn)題,自然愿意花時(shí)間去處理组底。

切記:一些重要的技術(shù)債務(wù)遠(yuǎn)遠(yuǎn)比開(kāi)發(fā)新系統(tǒng)的優(yōu)先級(jí)要高很多丈积。


Thanks ~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末筐骇,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子江滨,更是在濱河造成了極大的恐慌铛纬,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,589評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件唬滑,死亡現(xiàn)場(chǎng)離奇詭異告唆,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)晶密,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門(mén)擒悬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人稻艰,你說(shuō)我怎么就攤上這事懂牧。” “怎么了尊勿?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,933評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵僧凤,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我元扔,道長(zhǎng)躯保,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,976評(píng)論 1 295
  • 正文 為了忘掉前任澎语,我火速辦了婚禮途事,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘擅羞。我一直安慰自己尸变,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,999評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布减俏。 她就那樣靜靜地躺著振惰,像睡著了一般。 火紅的嫁衣襯著肌膚如雪垄懂。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,775評(píng)論 1 307
  • 那天痛垛,我揣著相機(jī)與錄音草慧,去河邊找鬼。 笑死匙头,一個(gè)胖子當(dāng)著我的面吹牛漫谷,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蹂析,決...
    沈念sama閱讀 40,474評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼舔示,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼碟婆!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起惕稻,我...
    開(kāi)封第一講書(shū)人閱讀 39,359評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤竖共,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后俺祠,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體公给,經(jīng)...
    沈念sama閱讀 45,854評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,007評(píng)論 3 338
  • 正文 我和宋清朗相戀三年蜘渣,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了淌铐。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,146評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蔫缸,死狀恐怖腿准,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情拾碌,我是刑警寧澤吐葱,帶...
    沈念sama閱讀 35,826評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站倦沧,受9級(jí)特大地震影響唇撬,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜展融,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,484評(píng)論 3 331
  • 文/蒙蒙 一窖认、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧告希,春花似錦扑浸、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,029評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至指么,卻和暖如春酝惧,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背伯诬。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,153評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工晚唇, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人盗似。 一個(gè)月前我還...
    沈念sama閱讀 48,420評(píng)論 3 373
  • 正文 我出身青樓哩陕,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子悍及,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,107評(píng)論 2 356

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