成人激色综合天天,中文亚洲av片在线观看,又粗又大又硬毛片免费看,国产aⅴ精品一区二区三区久久,亚洲欧美自偷自拍视频图片

通過八個(gè)指標(biāo)評(píng)估技術(shù)債務(wù)

譯文
CIOAge
在本文中,我們將了解技術(shù)債務(wù)的工作原理,并幫助你選擇合適的指標(biāo)開展工作。

譯者 | 仇凱

審校 | 孫淑娟 梁策

技術(shù)債務(wù)就像持續(xù)上漲的信用卡賬單,非常容易失控。為了避免此類情況出現(xiàn),你需要對(duì)積累的技術(shù)債務(wù)持續(xù)評(píng)估。

技術(shù)債務(wù)指標(biāo)旨在幫助你了解所有收集到的數(shù)據(jù)?,F(xiàn)在有大量可以記錄數(shù)據(jù)的工具和指標(biāo)可以供選擇。

在本文中,我們將了解它們的工作原理,并幫助你選擇合適的指標(biāo)開展工作。

通過八個(gè)指標(biāo)評(píng)估技術(shù)債務(wù)

技術(shù)債務(wù)非常普遍,主要原因是許多企業(yè)根本沒有意識(shí)到自己有多少技術(shù)債務(wù)。只有當(dāng)企業(yè)想要添加新功能時(shí),這些問題才會(huì)浮出水面。

為了避免陷入同樣的困境,你需要建立一些技術(shù)債務(wù)指標(biāo)。

請(qǐng)注意,我們所說的指標(biāo)是從多個(gè)維度建立的。沒有任何單一指標(biāo)可以準(zhǔn)確反映技術(shù)債務(wù)的現(xiàn)狀。因此,你需要通過一系列指標(biāo)為技術(shù)債務(wù)構(gòu)建畫像。

那么,哪些指標(biāo)是優(yōu)先考慮項(xiàng)呢?下面將列舉常見的指標(biāo)。

1. 新增Bug和修復(fù)Bug

這是非常簡(jiǎn)單且友好的開始。

每個(gè)已知Bug本質(zhì)上都是小的技術(shù)債務(wù)。統(tǒng)計(jì)所有開發(fā)人員的已知Bug是非常重要的,它可以幫助你了解技術(shù)債務(wù)的總體狀況。

假設(shè)開發(fā)人員記錄了修復(fù)Bug的時(shí)間,你就可以計(jì)算出償還技術(shù)債務(wù)的效率。如果新增Bug的速度超過修復(fù)Bug的速度,那么你就需要進(jìn)行調(diào)整。

2. 可維護(hù)指數(shù)

可維護(hù)指數(shù)是基于已解決問題數(shù)量與總問題數(shù)量的比率,其中問題的優(yōu)先級(jí)越高權(quán)重越大。

如果開發(fā)團(tuán)隊(duì)定期跟蹤代碼庫問題,并確定其優(yōu)先級(jí),那么你可以輕松確認(rèn)有多少已解決和未解決的問題。你可以在問題跟蹤器中跟蹤問題,不過更好的方法是使用Stepsize VSCode或JetBrains的編輯器擴(kuò)展工具,它們可以幫助你直接在編輯器中跟蹤代碼庫問題,并確定其優(yōu)先級(jí)。此外,你還能從儀表盤中看到問題的處理進(jìn)度,這將激勵(lì)開發(fā)團(tuán)隊(duì)解決更多的技術(shù)債務(wù)。

3. 代碼度量

復(fù)雜代碼是技術(shù)債務(wù)不斷增加的明顯標(biāo)志。某種情況下,你將不得不處理這個(gè)爛攤子。

代碼度量是一些指標(biāo)的集合,它包含代碼質(zhì)量和復(fù)雜度的全局量化:

圈復(fù)雜度、類耦合和繼承深度。

你需要盡可能的降低每一個(gè)獨(dú)立指標(biāo)的分?jǐn)?shù)。這同樣適用于代碼度量的整體指標(biāo)。

4. 時(shí)間周期

另一個(gè)與代碼質(zhì)量密切相關(guān)的是時(shí)間周期。

用技術(shù)語言來說,這衡量了從第一次提交代碼到上線部署消耗的時(shí)間。但是,當(dāng)你在評(píng)估技術(shù)債務(wù)時(shí),你需要研究現(xiàn)有代碼進(jìn)行修改的時(shí)間,以及在不使用快速修復(fù)情況下解決問題的時(shí)間。

如果開發(fā)人員花費(fèi)數(shù)小時(shí)修復(fù)輕微Bug,那么你就要意識(shí)到代碼中潛伏著一些技術(shù)債務(wù)。

5. 代碼攪動(dòng)

代碼攪動(dòng)是衡量特定代碼被刪除、替換或重寫次數(shù)的指標(biāo)。

當(dāng)你開發(fā)新特性或處理產(chǎn)品的特定模塊時(shí),代碼攪動(dòng)的發(fā)生是不可避免的。但是,在你修復(fù)了突出問題并發(fā)布新版本之后,代碼攪動(dòng)問題應(yīng)該會(huì)迅速減少。

如果某些區(qū)域的代碼在很長(zhǎng)一段時(shí)間內(nèi)高頻率發(fā)生代碼攪動(dòng)情況,這通常表明每次迭代都引入新的錯(cuò)誤或快速修復(fù)情況。

6. 代碼覆蓋率

某種意義上說,代碼覆蓋率是從相反方向分析同一個(gè)問題。

在這種情況下,當(dāng)運(yùn)行代碼測(cè)試任務(wù)時(shí),你需要評(píng)估有多少代碼被執(zhí)行了。這可以幫助你了解自己的代碼編寫效率——未被執(zhí)行的代碼行越多,你編寫的代碼越差。

80%的代碼覆蓋率是很好的目標(biāo)。高于這個(gè)值是非常優(yōu)秀的,而低于這個(gè)值則表示代碼還有優(yōu)化空間。

7. 代碼所有制

在烹飪界,大家常說:“人多誤事”。

這種說法在軟件工程領(lǐng)域同樣適用。如果許多人完成相同的任務(wù),那么很容易因?yàn)楫a(chǎn)生大量無效代碼而告終。

盡管如此,你也不希望只有一個(gè)人承擔(dān)整個(gè)項(xiàng)目。如果他生病或離職,項(xiàng)目就完蛋了。

出于以上原因,需要分析哪些人參與了哪些項(xiàng)目。作為流程的一部分,你需要計(jì)算每個(gè)項(xiàng)目有多少開發(fā)人員參與貢獻(xiàn)——這就是你的代碼覆蓋率。

代碼覆蓋率的平均數(shù)據(jù)將揭示你是否建立有效的任務(wù)分配機(jī)制,或者僅僅是隨意分配。最理想的狀態(tài)是建立完整的團(tuán)隊(duì)來負(fù)責(zé)每個(gè)項(xiàng)目。

8. 技術(shù)負(fù)債率(TDR)

顧名思義,這是專門評(píng)估未來技術(shù)債務(wù)總成本的指標(biāo)。它可以是時(shí)間或其他資源。

計(jì)算方法很簡(jiǎn)單:

(修復(fù)成本/開發(fā)成本)*100=技術(shù)負(fù)債率

在這個(gè)場(chǎng)景下,修復(fù)成本可以依據(jù)前文提到的代碼度量指標(biāo)計(jì)算。

開發(fā)成本可以通過簡(jiǎn)單的公式計(jì)算,這個(gè)公式是構(gòu)建產(chǎn)品或功能所需代碼行數(shù)除以每行代碼執(zhí)行時(shí)的計(jì)算資源消耗量。

將兩者的數(shù)據(jù)結(jié)果代入技術(shù)負(fù)債率公式中,最終會(huì)得到一個(gè)簡(jiǎn)單的比率,這個(gè)比率將揭示你需要投入多少時(shí)間或資源來解決問題。

在理想情況下,你的技術(shù)負(fù)債率約為5%。如果你的分?jǐn)?shù)是該數(shù)值的很多倍,那么你的技術(shù)負(fù)債已早該處理了。

額外建議:前端響應(yīng)時(shí)間

嚴(yán)格來說,前端響應(yīng)能力與技術(shù)負(fù)債關(guān)聯(lián)性不大。然而,這個(gè)指標(biāo)可以起到警示作用。

如果你的前端頁面加載時(shí)間過長(zhǎng),這通常代表它使用的技術(shù)老舊或代碼復(fù)雜。這兩者都是技術(shù)債務(wù)典型形式。

評(píng)估技術(shù)債務(wù)的最佳工具

希望到現(xiàn)在為止,關(guān)于如何開展技術(shù)債務(wù)的指標(biāo)評(píng)估,你已經(jīng)開始有思路了。其余需要了解的就是使用哪些工具來完成任務(wù)。

以下是一些適合大多數(shù)項(xiàng)目的優(yōu)秀工具:

1. Stepsize

Stepsize是專門為代碼庫問題跟蹤而設(shè)計(jì)的,可以在你喜歡的編輯器中識(shí)別和高亮代碼問題。

Stepsize VSCode或JetBrains編輯器擴(kuò)展工具是完全免費(fèi)的,可以幫助你跟蹤技術(shù)債務(wù)并跟進(jìn)處理進(jìn)度。

由于Stepsize可以與Jira、Asana、Linear、Azure DevOps以及其他很多工具對(duì)接,你無需徹底改變自己的工作流程就可以使用此工具。

  • 直接在編輯器中創(chuàng)建和查看代碼問題
  • 跟蹤和改進(jìn)優(yōu)先級(jí)高的代碼問題以償還技術(shù)債務(wù)
  • 通過問題跟蹤器添加短期沖刺的關(guān)鍵問題

2. SonarQube

相較于跟蹤技術(shù)債務(wù)的完整解決方案,SonarQube是一個(gè)關(guān)注范圍狹窄的工具。

該平臺(tái)的主要目標(biāo)是評(píng)估和提高代碼質(zhì)量。SonarQube通過自動(dòng)分析高亮Bug和雜亂代碼,提供依據(jù)時(shí)間跟蹤的評(píng)分和優(yōu)先級(jí)。

3. Teamscale

描述Teamscale的最佳語言是它可以作為產(chǎn)品的系統(tǒng)分析器。該工具評(píng)估你的代碼質(zhì)量,并通過可視化方式提供相關(guān)信息。

通過配置自定義儀表盤,Teamscale可以處理很多指標(biāo)。該平臺(tái)還提供一些質(zhì)量管理功能,盡管它欠缺注釋問題跟蹤和詳細(xì)的技術(shù)債務(wù)分析(Stepsize提供這些功能),但它依然是優(yōu)秀的工具。

4. Velocity

Code Climate開發(fā)的Velocity被視為“工程智能”平臺(tái),主要旨在協(xié)助管理人員改進(jìn)工作流程和分配資源。它并不是專門用來處理技術(shù)債務(wù)的,但是其中有一些功能覆蓋。

Velocity通過從Jira和其他DevOps工具拉取數(shù)據(jù)來提供建議。你同樣可以用它來執(zhí)行自動(dòng)代碼分析和收集內(nèi)部問題報(bào)告信息。

5. Jira

在你選擇的項(xiàng)目管理流程中創(chuàng)建和監(jiān)控積累的任務(wù),也是評(píng)估技術(shù)債務(wù)的一種方法。

如果你想選擇這種方式來處理技術(shù)債務(wù),那么Jira是明智的選擇。它并不提供任何代碼分析功能(前文提到的應(yīng)用都提供此類功能),但它是管理任務(wù)的優(yōu)秀平臺(tái)。

結(jié)論

正如我們所發(fā)現(xiàn)的,有很多不同的方式可以評(píng)估和管理技術(shù)債務(wù)。如果你在尋找一體化的解決方案,Stepsize必然在備選清單中。

我們的平臺(tái)對(duì)開發(fā)人員來說是直觀的,并且功能強(qiáng)大到足以為管理人員提供有價(jià)值的見解——通過儀表盤中展示的技術(shù)債務(wù)信息可以有效評(píng)估其對(duì)未來路線的影響。

請(qǐng)記住,所有高速增長(zhǎng)的軟件公司都需要承擔(dān)技術(shù)債務(wù)。但是對(duì)技術(shù)債務(wù)進(jìn)行評(píng)估并清理代碼是非常重要的,這也將使你的公司保持高速發(fā)展。

譯者介紹

仇凱,51CTO社區(qū)編輯,目前就職于北京宅急送快運(yùn)股份有限公司,職位為信息安全工程師。主要負(fù)責(zé)公司信息安全規(guī)劃和建設(shè)(等保,ISO27001),日常主要工作內(nèi)容為安全方案制定和落地、內(nèi)部安全審計(jì)和風(fēng)險(xiǎn)評(píng)估以及管理。

原文標(biāo)題:How to Measure Your Technical Debt: 8 Metrics to Consider,作者:Alex Omeyer

責(zé)任編輯:華軒 來源: 51CTO
相關(guān)推薦

2022-02-10 10:23:48

軟件開發(fā)商技術(shù)債務(wù)記錄數(shù)據(jù)

2024-09-30 13:14:01

2020-03-30 09:58:16

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

2022-04-29 14:49:27

數(shù)據(jù)質(zhì)量數(shù)據(jù)

2022-12-01 16:53:27

NPM技巧

2024-09-23 09:00:00

裝飾器函數(shù)代碼

2023-02-22 14:50:59

技術(shù)AI

2019-10-24 10:04:33

技術(shù)債務(wù)開發(fā)軟件

2022-05-30 10:09:27

技術(shù)債

2022-01-11 14:47:48

人工智能工程挖掘自動(dòng)化流程發(fā)現(xiàn)

2023-10-10 10:27:37

DevOps

2017-01-05 09:59:45

2012-10-29 11:01:17

2023-02-27 09:08:10

IT文化步驟

2017-04-20 12:51:28

2021-10-14 10:54:30

云計(jì)算

2019-12-25 14:30:40

MicrosoftWindows 10Windows

2025-05-23 06:00:00

RAGAI人工智能

2023-04-18 10:27:15

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

2014-06-17 09:51:57

Docker

51CTO技術(shù)棧公眾號(hào)