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日間の無料トライアルを開始。クレジットカード不要。