傾向監視
CppDepend のトレンド モニタリングによるソフトウェア開発の最適化
CppDependは強力なを提供 傾向監視 コード メトリックを経時的に追跡できる機能。トレンド チャートは次で構成されます トレンドメトリクス 分析時に時系列で記録される値。既定で 50 以上のトレンドメトリクスが利用可能で、独自のトレンドメトリクスを簡単に作成できます。
はじめに

傾向チャートはCppDependダッシュボードに表示。デフォルトで次を表示:
- コード行数
- 違反されたコードルール数とコードルール違反数
- 各種コード品質メトリクスの最大値と平均値
- サードパーティの使用状況
傾向チャートはカスタマイズ可能で、デフォルト/カスタムの傾向メトリクスを表示する独自チャートを簡単に作成可能。

トレンド関連のすべての操作には、 トレンドメニュー 利用可能です。

トレンドメトリクス
デフォルトのトレンドメトリクスを一覧するには、を参照 クエリとルールエクスプローラーパネル という名前のグループを選択 トレンドメトリクス.

トレンド メトリックがコード クエリ パネルに一覧表示されるのは、トレンド メトリックが CQLinq コード クエリだからです。これは特殊なコード クエリです:
- トレンドメトリクスは、スカラーを返すコードクエリです。そのため、トレンドメトリクスクエリでは、スカラーを返す LINQ 集計演算子がよく使用されます。これには次のような演算子が含まれます Count() Sum() Average() Min() Max() ...
- コード クエリのヘッダーは、次の形式のコメント行です // <TrendMetric Name="Metric Name" Unit="Metric Unit Name" />
例えばこちら # コード行数 トレンドメトリクスコードクエリ:

トレンドメトリクスはコードクエリであるため、独自のトレンドメトリクスを作成したり、既存のものを変更したりするのは簡単です。たとえば、次は継承元となる型の数をカウントするコードクエリです Poco.Exception:

コードクエリではない既定のトレンドメトリクスが 6 つあります。これらは、違反されたコードルールの数とコードルール違反の数に関連しています。

トレンド メトリックは分析時にログに記録されます(セクションで説明) トレンドメトリクスの記録.
傾向チャート
Create or Edit trend charts ダイアログでは、すべてのトレンドチャートプロパティを定義できます。トレンドメトリクスシリーズのリストが利用可能で、シリーズをチェックするとトレンドチャートで視覚化できます。シリーズの外観はカスタマイズ可能で、これには以下が含まれます。
- 系列の色
- 系列が折れ線または面として表示される場合
- 系列スケールの定義。スケール設定は、複数の系列スケールを調整して同じトレンド チャートで比較するのに便利です。

レポートトレンドチャート
上の図には、次のラベルのチェック ボックスが表示されています: このトレンドチャートをレポートに表示 トレンド チャートはレポートに表示できます。
そのためチェックボックス CppDepend プロジェクト プロパティ パネル > Report タブ > Use standard report オン > Trend Charts チェックが必要です。

トレンドメトリクスの記録
トレンド メトリック値は分析時にログに記録されます。毎日分析を実行することで、トレンド メトリック値の系列が構築されます。
トレンド メトリック値のログに関する設定は、次の両方で利用できます CppDependオプション > トレンド セクション、および CppDepend プロジェクト プロパティ > Analysis > Trend Metrics Log セクション。プロジェクト プロパティで設定が行われている場合、オプションで定義されたグローバル設定が上書きされます。
トレンドメトリクスログ設定には:
- ログの頻度(1 日または 1 週間に最大 1 回など)
- 分析されたコードベースのバージョンを表す、各ログのラベルの定義。上のトレンドチャートのスクリーンショットでは、このバージョンラベルがトレンドチャートのタイムライン X 軸に表示されていることがわかります。
- トレンド メトリック値を含むファイルが保存されるフォルダー。ファイルが大きくなりすぎないように、年ごとにファイルが作成されます。

トレンド メトリクスのログ設定に関係なく、次を使用すると CppDepend.Console.exe コマンドラインパラメータ /LogTrendMetrics 分析中にトレンド メトリクスのログを強制します。
