Loading article…
![]() | |
| 開発者 | Nディペンド |
|---|---|
| 安定版リリース | 2024.1
|
| オペレーティング·システム | ウィンドウズ |
| タイプ | ソフトウェアの品質 |
| ライセンス | 商用、独自 |
| Webサイト | 出典: |
NDepend は、コードの品質とセキュリティを管理するための C# および .NET コードの静的解析ツールです。このツールは、CI/CD Web レポートから品質ゲートや依存関係の視覚化まで、多数の機能を提案しています。そのため、コミュニティではこれを .NET 開発者向けの「スイス アーミー ナイフ」と呼んでいます。
特徴



NDepend の主な機能は次のとおりです。
- .NET コードの品質とセキュリティのあらゆる側面に関するインタラクティブな Web レポートのサンプル レポートはここにあります。レポートは、 Windows、Linux、MacOS のどのプラットフォームでも作成できます。
- [Roslyn Analyzers の問題のインポート https://www.ndepend.com/docs/reporting-roslyn-analyzers-issues]
- 品質ゲート
- Azure DevOps、GitHub Action、Bamboo、Jenkins、TeamCity、AppVeyor との CI/CD 統合
- 依存関係の視覚化(依存関係グラフと依存関係マトリックスを使用)
- スマートな技術的負債の見積もり
- C# LINQ クエリ (CQLinq) に対する宣言型コード ルール。
- ソフトウェア メトリクス(NDepend は現在、循環的複雑度、求心性結合と遠心性結合、関係凝集度、.NET 型の Googleページ ランク、テストでカバーされるコードの割合など、 100 を超えるコード メトリクスをサポートしています。)
- Visual Studio カバレッジ、dotCover、OpenCover、NCover、NCrunch からのコード カバレッジ データのインポート。
- すべての結果はベースラインと比較され、ユーザーは新たに特定された問題に集中できるようになります。
- Visual Studio 2022、2019、2017、2015、2013、2012、2010 との統合、または VisualNDepend.exe を介してスタンドアロンとして実行したり、JetBrains Rider またはVisual Studio Codeと並行して実行したりできます。
LINQ クエリによるコード ルール (CQLinq)

ライブ コード クエリと LINQ クエリを介したコード ルールは NDepend のバックボーンであり、すべての機能で広く使用されています。次にサンプル コード クエリをいくつか示します。
- 基本クラスでは派生クラスを使用しないでください。
// <Name>基本クラスは派生クラスを使用すべきではありません</Name> warnif count > 0 from baseClass in JustMyCodeTypes where baseClass.IsClass && baseClass.NbChildren > 0 // <-- 最適化のため! let derivedClassesUsed = baseClass.DerivedTypes.UsedBy ( baseClass ) where derivedClassesUsed.Count ( ) > 0 select new { baseClass , derivedClassesUsed }
- 複雑なメソッドをさらに複雑にしないようにします(ソースコードの循環的複雑度)。
// <Name>複雑なメソッドをさらに複雑にしないようにします (ソース コードの循環的複雑度)</Name>
warnif count > 0 from m in JustMyCodeMethods where ! m . IsAbstract && m . IsPresentInBothBuilds () && m . CodeWasChanged () let oldCC = m . OlderVersion (). CyclomaticComplexity where oldCC > 6 && m . CyclomaticComplexity > oldCC select new { m , oldCC , newCC = m . CyclomaticComplexity , oldLoc = m . OlderVersion (). NbLinesOfCode , newLoc = m . NbLinesOfCode , }
さらに、このツールは、コード補完と埋め込みドキュメントを備えたライブ CQLinq クエリ エディターを提供します。
参照
外部リンク
- 公式サイト
.NET コミュニティによる NDepend のレビュー
- 苦痛の領域からの脱出: NDepend による静的分析.aspx (プログラム マネージャー、Microsoft) が NDepend について解説します。
- Stack Overflow ディスカッション: NDepend の使用
- Abhishek Sur、NDepend について
- Andre Loker による NDepend コード メトリクス
- Henry Cordes による NDepend による静的解析
- Hendry Luk が NDepend による継続的なソフトウェア品質について語る
- Jim Holmes (「Windows Developer Power Tools」の著者) による NDepend に関する記事。
- Mário Romano が NDepend のメトリックと依存関係マトリックスについて語る
- Nates Stuffのレビュー
- Scott Mitchell (MSDN Magazine)、NDepend を使用したコード探索
- Travis Illig の NDepend に関する記事
NDepend について言及している書籍
- ギリシュ・スーリヤナラヤナ、ガネーシュ・サマルティヤム、トゥシャール・シャルマ。ソフトウェア設計の臭いに対するリファクタリング: 技術的負債の管理(2014)
- Marcin Kawalerowicz と Craig Berntson。.NETにおける継続的インテグレーション(2010)
- ジェームズ・エイブリーとジム・ホームズ。Windows開発者向けパワー ツール(2006)
- パトリック・コールドウェルとスコット・ハンセルマン。コードリーダー:人、ツール、プロセスを活用して成功するソフトウェアを構築する(2008)
- Yogesh Shetty と Samir Jayaswal。 金融市場向けの実用的な .NET (2006)
- ポール・デュバル。継続的インテグレーション(2007)
- Rick Leinecker と Vanessa L. Williams。Visual Studio 2008 オールインワン デスク リファレンス フォー ダミーズ(2008)
- Patrick Smacchia.実践的な .Net 2 および C# 2: プラットフォーム、言語、フレームワークを活用する(2006)

