NDepend - NDepend - Wikipedia
![]() | tento článek může být pro většinu čtenářů příliš technická na to, aby je pochopili. Prosím pomozte to vylepšit na aby to bylo srozumitelné pro neodborníky, aniž by byly odstraněny technické podrobnosti. (Ledna 2017) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) |
![]() | |
Vývojáři | NDepend |
---|---|
Stabilní uvolnění | 2020.1.0 |
Operační systém | Okna |
Typ | Kvalita softwaru |
Licence | Komerční, Proprietární |
webová stránka | nezávislý |
NDepend je statická analýza nástroj pro .NET spravovaný kód. Tento nástroj podporuje velké množství metrik kódu, které člověku umožňují vizualizovat závislosti pomocí řízené grafy a závislost matice. Nástroj také provádí srovnání snímků základny kódu a ověřování architektonických a kvalitativních pravidel. Uživatelem definovaná pravidla lze zapisovat pomocí dotazů LINQ. Tato funkce se jmenuje CQLinq. Nástroj také přichází s velkým počtem předdefinovaných pravidel kódu CQLinq. Pravidla kódu lze zkontrolovat automaticky Vizuální studio nebo během kontinuální integrace.
Funkce
Hlavní rysy NDepend jsou:
- Vizualizace závislostí (pomocí grafů závislostí a matice závislostí)
- Softwarové metriky (NDepend aktuálně podporuje 82 metrik kódu: Cyklomatická složitost; Aferentní a eferentní Spojka; Relační Soudržnost; Google hodnocení stránky typů .NET; Procento kódu pokrytého testy atd.)
- Deklarativní pravidlo kódu nad LINQ dotazem (CQLinq)
- Integrace s CruiseControl a TeamCity
- Omezení volitelného kódu ve zdrojovém kódu pomocí Atributy CLI
- Porovnání verzí dvou verzí stejné shromáždění
Pravidla kódu prostřednictvím dotazů LINQ (CQLinq)

Všechny nedávné verze nástroje (po V4) poskytují živé dotazy na kód a pravidla kódu prostřednictvím dotazů LINQ. Toto je jedna z hlavních inovací NDepend. Například:
- Základní třída by neměla používat deriváty:
// Základní třída by neměla používat deriváty varovat počet > 0 z baseClass v JustMyCodeTypes kde baseClass.IsClass && baseClass.NbDěti > 0 // <- pro optimalizaci! nechat derivedClassesUsed = baseClass.Odvozené typy.Použité(baseClass) kde derivedClassesUsed.Počet() > 0 vybrat Nový { baseClass, derivedClassesUsed }
- Vyvarujte se složitějších metod (zdrojový kód cyklomatická složitost ):
// Vyvarujte se složitějších metod (cyklomatická složitost zdrojového kódu) varovat počet > 0 z m v JustMyCodeMethods kde !m.IsAbstract && m.IsPresentInBothBuilds() && m.CodeWasChanged() nechat oldCC = m.Starší verze().Cyklomatická složitost kde oldCC > 6 && m.Cyklomatická složitost > oldCC vybrat Nový { m, oldCC, newCC = m.Cyklomatická složitost, oldLoc = m.Starší verze().NbLinesOfCode, newLoc = m.NbLinesOfCode, }
Tento nástroj navíc poskytuje živý editor dotazů CQLinq s dokončením kódu a vloženou dokumentací.
Viz také
externí odkazy
NDepend přezkoumána komunitou .NET
- Ukončení zóny bolesti: statická analýza s NDepend.aspx (Program Manager, Microsoft) discusses NDepend
- Diskuse o přetečení zásobníku: použití NDepend
- Abhishek Sur, na NDepend
- Metriky kódu NDepend od Andre Lokera
- Statická analýza s NDepend Henry Cordes
- Hendry Luk diskutuje o kontinuální kvalitě softwaru s NDepend
- Jim Holmes (autor knihy „Windows Developer Power Tools“), na NDepend.
- Mário Romano diskutuje s NDepend o metrikách a matici závislostí
- Recenze Nates Stuff
- Scott Mitchell (časopis MSDN), průzkum kódu pomocí NDepend
- Travis Illig na NDepend
Knihy, které zmiňují NDepend
- Girish Suryanarayana, Ganesh Samarthyam a Tushar Sharma. Refactoring pro softwarový design voní: Správa technického dluhu (2014)
- Marcin Kawalerowicz a Craig Berntson. Kontinuální integrace v .NET (2010)
- James Avery a Jim Holmes. Elektrické nástroje pro vývojáře Windows (2006)
- Patrick Cauldwell a Scott Hanselman. Vedoucí kódu: Používání lidí, nástrojů a procesů k vytváření úspěšného softwaru (2008)
- Yogesh Shetty a Samir Jayaswal. Praktický .NET pro finanční trhy (2006)
- Paul Duvall. Kontinuální integrace (2007)
- Rick Leinecker a Vanessa L. Williams. Visual Studio 2008 All-In-One Desk Reference pro figuríny (2008)
- Patrick Smacchia. Praktická síť 2 a C # 2: Využijte platformu, jazyk, rámec (2006)