请输入您要查询的百科知识:

 

词条 NDepend
释义

  1. Features

      New features in v2017.1    New features since V6.0  

  2. Code rules through LINQ queries (CQLinq)

  3. See also

  4. External links

     NDepend reviewed by the .NET community  Books that mention NDepend 
{{technical|date=January 2017}}{{Infobox Software
| logo = NDepend.jpg
| screenshot =
| caption =
| name = NDepend
| developer = NDepend
| latest_release_version = 2018.1.0
| latest_release_date =
| operating_system = Windows
| genre = Software quality
| license = Commercial, Proprietary
| website = {{URL|ndepend.com}}
}}

NDepend is a static analysis tool for .NET managed code. The tool supports a large number of code metrics, allowing to visualize dependencies using directed graphs and dependency matrix. The tool also performs code base snapshots comparisons, and validation of architectural and quality rules. User-defined rules can be written using LINQ queries. This feature is named CQLinq. The tool also comes with a large number of predefined CQLinq code rules. Code rules can be checked automatically in Visual Studio or during continuous integration.

Features

The main features of NDepend are:

  • Dependency Visualization (using dependency graphs, and dependency matrix)
  • Software metrics (NDepend currently supports 82 code metrics: Cyclomatic complexity; Afferent and Efferent Coupling; Relational Cohesion; Google page rank of .NET types; Percentage of code covered by tests, etc.)
  • Declarative code rule over LINQ query (CQLinq)
  • Integration with CruiseControl and TeamCity
  • Optional code constraints in the source code using CLI attributes
  • Version comparison of two versions of the same assembly

New features in v2017.1

  • NDepend.API Improvements
  • Code Query Improvements
  • Report Improvements
  • Enhanced Baseline Experience
  • Default Rules-Set Improvements
  • Dashboard Improvements
  • Enhanced Visual Studio Integration
  • Planned support for VS2017 / dev15
  • .NET Core support
  • Better Issues Management
  • Quality Gates
  • Smart
  • Technical Debt
  • Estimation
  • New support for Visual Studio
  • Team Services (VSTS)
  • New licensing and release scheme

New features since V6.0

  • Integration with Visual Studio 2015
  • Enhanced Visual Studio Integration
  • Colored Code Metric View
  • Intuitive display of Code Coverage percentage
  • Rule Files Shareable amongst Projects
  • Default Rules Description and HowToFix
  • Default Rules Less False Positives
  • Compiler Generated Code Removal
  • Async Support
  • Integration with TFS
  • Integration with SonarQube
  • Integration with TeamCity
  • Support Visual Studio Themes
  • Support for high DPI resolution

Code rules through LINQ queries (CQLinq)

All recent versions of the tool (after V4) proposes live code queries and code rules through LINQ queries. This is one of the main innovations of NDepend. For example:

- Base class should not use derivatives:
 // Base class should not use derivatives warnif count > 0  from baseClass in JustMyCode{{Not a typo|.}}Types where baseClass.IsClass && baseClass.NbChildren > 0 // <-- for optimization! let derivedClassesUsed = baseClass.DerivedTypes.UsedBy(baseClass) where derivedClassesUsed.Count() > 0 select new { baseClass, derivedClassesUsed }
- Avoid making complex methods even more complex (source code cyclomatic complexity):
 // Avoid making complex methods even more complex (source code cyclomatic complexity) warnif count > 0  from m in JustMyCode{{Not a typo|.}}Methods 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, }

Additionally, the tool proposes a live CQLinq query editor with code completion and embedded documentation.

See also

  • Design Structure Matrix
  • List of tools for static code analysis
  • Software visualization

External links

  • {{Official website|www.ndepend.com}}

NDepend reviewed by the .NET community

  • Exiting The Zone Of Pain: Static Analysis with NDepend.aspx (Program Manager, Microsoft) discusses NDepend
  • [https://stackoverflow.com/questions/2049874/do-you-use-ndepend Stack Overflow discussion: use of NDepend]
  • Abhishek Sur, on NDepend
  • NDepend code metrics by Andre Loker
  • Static analysis with NDepend by Henry Cordes
  • Hendry Luk discusses Continuous software quality with NDepend
  • Jim Holmes (Author of the book "Windows Developer Power Tools"), on NDepend.
  • Mário Romano discusses Metrics and Dependency Matrix with NDepend
  • Nates Stuff review
  • Scott Mitchell (MSDN Magazine), Code Exploration using NDepend
  • Travis Illig on NDepend

Books that mention NDepend

  • Girish Suryanarayana, Ganesh Samarthyam, and Tushar Sharma. Refactoring for Software Design Smells: Managing Technical Debt (2014)
  • Marcin Kawalerowicz and Craig Berntson. Continuous Integration in .NET (2010)
  • James Avery and Jim Holmes. Windows developer power tools (2006)
  • Patrick Cauldwell and Scott Hanselman. Code Leader: Using People, Tools, and Processes to Build Successful Software (2008)
  • Yogesh Shetty and Samir Jayaswal. Practical .NET for financial markets (2006)
  • Paul Duvall. Continuous Integration (2007)
  • Rick Leinecker and Vanessa L. Williams. Visual Studio 2008 All-In-One Desk Reference For Dummies (2008)
  • Patrick Smacchia. Practical .Net 2 and C# 2: Harness the Platform, the Language, the Framework (2006)
{{DEFAULTSORT:Ndepend}}{{Portal bar|.NET Framework}}

3 : Static program analysis tools|.NET programming tools|Software metrics

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/9/30 5:23:07