国产色诱美女免费视频|欧美精彩狠狠色丁香婷婷|91黑人|日本黄色小视频|欧美一级黄色视频在这里免费观看

IT培訓-高端面授IT培訓機構
云和教育:云和數據集團高端IT職業教育品牌
  • 國家級
    全民數字素養與技能培訓基地
  • 河南省
    第一批產教融合型企業建設培育單位
  • 鄭州市
    數字技能人才(碼農)培養評價聯盟

程序員如何償還技術負債?

  • 發布時間:
    2019-06-13
  • 版權所有:
    云和教育
  • 分享:

技術負債就好比修改和擴展軟件系統,每當添加新功能時,需要付出的額外努力就好像是債務利息一樣。那么身為技術開發者,該如何償還技術負債?

一、什么是技術負債?

配圖1 程序員如何償還技術負債?.jpg

技術負債,是指由于某些限制,做出的一種短期見效快,長期有傷害的,在技術層面的決定,無法完全地實施計劃好的各項功能,理想實施完成狀態和實際實施結果之間的差異。

技術負債有時候并不完全是指這個代碼有多糟糕,而更有可能是強調這個代碼帶來的持續增長的成本,即技術負債的利息——后續研發和運營因為不完善的系統實施而需要付出的額外努力。舉個例子,如果前期的實施不包括運營管理平臺,所有后期的運營都要手工操作,這在效率上大打折扣,需要招聘額外的人手。

現實生活中,很多潛在的問題,在項目初期很難被發現,很多問題都是在實踐的過程中發現的,敏捷開發,有利于解決類似的問題。但是越到后期,和技術負債相關的請求,就會越難被接受,因為他們的投入產出比小,風險大。更糟糕的情況是,有一些東西,是需要事后的消化,后知后覺的,這無異是得不償失的。

二、技術負債有哪些負面影響?

如果公司要解決技術負債,花費的成本往往是很高的。在所調研的系統中,35%的技術債務已經嚴重影響了系統的支持和維護,它們可能導致安全、性能問題甚至威脅到正常運行。

配圖2 程序員如何償還技術負債?.jpg

三、技術債如何償還?

債總要還的,解鈴還須系鈴人。還債的方式有很多,下面的方法做個拋磚引玉。

1、好的設計和架構

對項目當下需求以及未來的需求能夠做一個預見,避免隨著項目復雜度提升導致后期重構的風險。遵從基本設計原則:模塊化,輕耦合,無狀態。選擇合適的技術而不是最好的技術。

2、Code Review

Code Review是一個只要超過倆人的TD團隊就建議采用的工序。Code Review很重要,千萬不要以時間或者其他原因放棄Code Review。Code Review工作可以在開始就將可能產生的債務清理掉。如果你能全款,為什么要選擇貸款呢?

配圖3 程序員如何償還技術負債?.jpg

3、測試保證

增加自動化測試覆蓋率,通過自動化測試覆蓋住流程,減少漏測的幾率,并為后期償還債務時可能需要的重構提供保障。測試,越是無情,越是仔細,全面的測試,越是有助于系統的健壯。

4、定期的技術債務償還

配圖4 程序員如何償還技術負債?.jpg

和項目經理或者產品經理協商一個迭代或者趁迭代的空隙,專門用于解決前期積累的技術債務。一方面可以清理債務,另一方面可以是開發人員得到一定程度的放松。

將積累的技術債務按照優先級就行排序,將最需要解決的債務分配一些到迭代之中,提前償還。相當于等額本金。

配圖5 程序員如何償還技術負債?.jpg

0技術債是一種完美的情況,但也不必追求“無債”狀態,因為那樣太難了,也不太經濟,人無完人;盡量減少技術債,使其不至于明顯影響后續產品和開發。