技術負債

短期加速了軟件開發(fā)培慌,但是在未來給自己帶來了額外的負擔图筹,這種技術負債的情況比比皆是,今天來說說技術負債的問題菲饼。

1.什么叫技術負債肾砂?

技術負債(英語:Technical debt),又譯技術債宏悦,也稱為設計負債(design debt)镐确、程序代碼負債(code debt),是軟件開發(fā)中的一個比喻饼煞。指開發(fā)人員為了加速軟件開發(fā)源葫,在應該采用最佳方案時進行了妥協(xié),改用了短期內(nèi)能加速軟件開發(fā)的方案砖瞧,從而在未來給自己帶來的額外開發(fā)負擔息堂。這種技術上的選擇,就像一筆債務一樣块促,雖然眼前看起來可以得到好處荣堰,但必須在未來償還。軟件工程師必須付出額外的時間和精力持續(xù)修復之前的妥協(xié)所造成的問題及副作用褂乍,或是進行重構持隧,把架構改善為最佳的方式即硼。

1992年逃片,沃德·坎寧安首次將技術的復雜比作為負債。

第一次發(fā)布代碼只酥,就好比借了一筆錢褥实。只要通過不斷重寫來償還債務,小額負債可以加速開發(fā)裂允。但久未償還債務會引發(fā)危險损离。復用馬馬虎虎的代碼,類似于負債的利息绝编。整個部門有可能因為松散的實現(xiàn)僻澎,不完全的面向對象的設計或其他諸如此類的負債而陷入窘境貌踏。

2.技術負債產(chǎn)生的原因是什么?

很嚴重的債務體現(xiàn)在架構或是平臺技術方面犯了一個基礎的錯誤窟勃,沒有選擇祖乳,也沒有足夠的時間來正確重寫。這些錯誤體現(xiàn)在

無法擴展秉氧,可靠性低眷昆;

非常難維護;

次之的債務體現(xiàn)在 容易出錯的代碼 – 80%的錯誤出現(xiàn)在20%的代碼中汁咏。

一般的債務體現(xiàn)在

不容易進行系統(tǒng)測試 – 增加了測試的開銷亚斋,也無法及時發(fā)現(xiàn)代碼質量問題。

不注意打包攘滩、發(fā)布和部署帅刊。太過依賴手動測試,很容易在代碼上線的時候造成錯誤漂问。就像測試一樣厚掷,發(fā)布和部署帶來的開銷不會消失,會逐漸的增加级解。

團隊成員不能理解的關鍵代碼

向前向后的兼容性冒黑。這是必須的和短期的債務。需要維護這些兼容版本的時間越長勤哗,代價會越大抡爹。

庫和中間件過期

重復的,復制粘貼的代碼芒划。

大家都知道的冬竟、很明顯的錯誤,并且沒有被修復的缺陷民逼。

低效的設計或構建泵殴,過度消耗硬件,使用過多的內(nèi)存拼苍,網(wǎng)絡帶寬或CPU笑诅。

較小的債務體現(xiàn)在

使用編程習慣和模式不一致 – 程序員不理解已經(jīng)存在的模式,或是不喜歡它們疮鲫,而引進新的模式吆你,或者僅僅是想改變它們。

沒有錯誤處理和異常處理俊犯,或者方法不對妇多。在上線階段會有一些問題

非常小的債務體現(xiàn)在

硬編碼,神秘的數(shù)字燕侠,代碼不遵循規(guī)范者祖,混亂的命名严望,缺失的注釋党远,不整潔的代碼谴垫。

文檔過期 – 文檔的內(nèi)容和實際系統(tǒng)不一致

3.技術負債有哪些負面影響棒假?

如果公司要解決技術負債,花費的成本往往是很高的烂瘫。

在所調(diào)研的系統(tǒng)中媒熊,35%的技術債務已經(jīng)嚴重影響了系統(tǒng)的支持和維護,它們可能導致安全坟比、性能問題甚至威脅到正常運行芦鳍。

4.避免技術負債的方法是什么?

注意五大程序質量特征 - 穩(wěn)定性葛账、性能柠衅、安全、可移交性以及可修改性

采用成熟的開發(fā)方法比如敏捷開發(fā)以提高程序質量籍琳,瀑布方法具備“可移交性”和“可修改性”菲宴,但不適合目前的開發(fā)要求。

系統(tǒng)模塊化(Modularity of systems )可能影響質量和性能趋急。

提高代碼和系統(tǒng)的可維護性喝峦。

減少代碼發(fā)布的頻率,以減少技術負債呜达。

5.如何評估技術債谣蠢?

請參考此文,用Sonar 評估你的技術債務- 技術翻譯- 開源中國社區(qū) http://www.oschina.net/translate/evaluate-your-technical-debt-with-sonar

當前插件的版本是0.2查近,并且可以使用下面的表達式去計算債務 :

Debt(in man days) = cost_to_fix_duplications + cost_to_fix_violations +

cost_to_comment_public_API + cost_to_fix_uncovered_complexity +

cost_to_bring_complexity_below_threshold

通過計算這種方式眉踱, 可以接近實際中的情況,建議經(jīng)常量化技術債務霜威,因為技術債務可以

是綜合的指標谈喳,衡量項目和模塊的質量

根據(jù)歷史數(shù)據(jù)和趨勢跟蹤

比較多個項目

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市戈泼,隨后出現(xiàn)的幾起案子婿禽,更是在濱河造成了極大的恐慌,老刑警劉巖矮冬,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件谈宛,死亡現(xiàn)場離奇詭異次哈,居然都是意外死亡胎署,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進店門窑滞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來琼牧,“玉大人恢筝,你說我怎么就攤上這事【薹唬” “怎么了撬槽?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長趾撵。 經(jīng)常有香客問我侄柔,道長,這世上最難降的妖魔是什么占调? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任暂题,我火速辦了婚禮,結果婚禮上究珊,老公的妹妹穿的比我還像新娘薪者。我一直安慰自己,他們只是感情好剿涮,可當我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布言津。 她就那樣靜靜地躺著,像睡著了一般取试。 火紅的嫁衣襯著肌膚如雪悬槽。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天瞬浓,我揣著相機與錄音陷谱,去河邊找鬼。 笑死瑟蜈,一個胖子當著我的面吹牛烟逊,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播铺根,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼宪躯,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了位迂?” 一聲冷哼從身側響起访雪,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎掂林,沒想到半個月后臣缀,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡泻帮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年精置,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片锣杂。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡脂倦,死狀恐怖番宁,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情赖阻,我是刑警寧澤蝶押,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站火欧,受9級特大地震影響棋电,放射性物質發(fā)生泄漏。R本人自食惡果不足惜苇侵,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一离陶、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧衅檀,春花似錦招刨、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至杉适,卻和暖如春谎倔,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背猿推。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工片习, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蹬叭。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓藕咏,卻偏偏與公主長得像,于是被迫代替她去往敵國和親秽五。 傳聞我的和親對象是個殘疾皇子孽查,可洞房花燭夜當晚...
    茶點故事閱讀 44,724評論 2 354

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

  • 技術負債(Technical Debt),也叫設計負債(Code debt)或 代碼負債(code debt) 是...
    爪哇閱讀 1,199評論 1 3
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,107評論 25 707
  • 一個人的語言往往能影響另一個人的心情坦喘,想法盲再,甚至方向。 有事說者無心瓣铣,聽著有心答朋,說話也要講求方法。 一個人說話不能...
    小孩紙魯閱讀 172評論 0 0
  • 升大二的那個暑假棠笑,沈蔓第一次獨自一人坐飛機去北京梦碗。 早一個星期就訂好了機票,走之前一直在和父母拉鋸戰(zhàn),她說自己已經(jīng)...
    溫桔年閱讀 894評論 2 5