CppDepend
首页/功能/代码质量/使用 CppDepend 有效处理技术债务

使用 CppDepend 有效处理技术债务

智能估算、持续监控与可操作洞察

如今,技术债务这一比喻已被软件行业广泛采用。它由以下人士提出 Ward Cunningham 于1992年。

“在这个比喻中,用快速而粗糙的方式做事会让我们背上技术债务,它类似于金融债务。像金融债务一样,技术债务会产生 利息 偿还,其形式是由于快速而粗糙的设计选择,我们在未来开发中不得不付出的额外努力。我们可以选择继续支付利息,也可以通过将粗糙的设计重构为更好的设计来偿还本金。”

— Martin Fowler

自 CppDepend v2017.1.0 起,CppDepend 可估算代码库的技术债务。该工具提供许多独特功能来正确处理技术债务。

智能技术债务估算

技术债务由嵌入每条规则源代码中的 C# LINQ 公式估算。这使估算既 智能易于自定义 满足您的需求。

warnif count > 0
m in 方法
  where m.CyclomaticComplexity > 10
  select new {
     m,
     m.CyclomaticComplexity,
     Debt = (3*(m.CyclomaticComplexity-10)).ToMinutes().ToDebt(),
     AnnualInterest = (m.PercentageCoverage == 100 ? 10 : 120).ToMinutes().ToAnnualInterest()
  }

自基线以来的质量

最近的代码异味 自基线以来引入的、应在提交源代码管理前修复的问题会在 Visual Studio 中突出显示。它们甚至可以在到达源代码服务器之前就被修复。

债务探索

针对 CppDepend.API 的 C# LINQ 查询不仅用于编写代码规则和技术债务估算,还可用于探索技术债务。例如,下面的查询将返回自基线以来的新问题,按债务估算降序排列。

i in 问题
  where i.WasAdded() && i.Severity.EqualsAny(Severity.Blocker, Severity.Critical)
  orderby i.Debt.Value 降序
  select new { i, i.Debt }

用户无需编写这些债务探索查询,因为它们可通过点击仪表板中的值和菜单生成:

仪表板中的技术债务

市场上最快的工具

由于开发者的时间非常宝贵,我们把 CppDepend 做得很快、非常快:在 Visual Studio 中每次编译后,技术债务只需几秒钟即可重新估算,即使在非常大的代码库上运行数百条规则也是如此。而且,正如我们所知这同样重要,它不会造成任何明显的 IDE 卡顿。

100% 可自定义

不仅债务估算的各个方面都可以自定义,债务的展示方式也可以自定义。债务值可以用金额而非人时来估算,所有阈值都可以通过以下界面点击几下进行调整 CppDepend 项目属性 面板。

CppDepend 中的技术债务设置

优势

  • 将严格的代码质量控制无缝集成到开发流程中
  • 随着时间推移,开发者逐渐了解应遵循的规则,并及早做出正确决策
  • 由于质量在 Visual Studio 和 DevOps 中都会自动、持续地检查,并重点关注最近的变更,团队能构建更好的代码
  • 管理层可以掌控质量投资的回报

相关链接

试用 使用 CppDepend 有效处理技术债务 使用 CppDepend

开始 14 天免费试用,畅享全部功能。无需信用卡。