NZależyć
Deweloperzy | NZależyć |
---|---|
Wersja stabilna | 2022.1 |
System operacyjny | Okna |
Typ | Jakość oprogramowania |
Licencja | Komercyjne, własnościowe |
Strona internetowa |
NDepend to narzędzie do analizy statycznej kodu zarządzanego platformy .NET. Narzędzie oferuje wiele funkcji, od wizualizacji zależności po bramki jakości i inteligentne oszacowanie długu technicznego. Z tego powodu społeczność nazywa go „szwajcarskim scyzorykiem” dla programistów .NET.
Cechy
Główne cechy NDepend to:
- Wizualizacja zależności (przy użyciu wykresów zależności i macierzy zależności )
- Inteligentne oszacowanie zadłużenia technicznego
- Bramy Jakości
- Reguła kodu deklaratywnego w zapytaniu C# LINQ (CQLinq) . Domyślny zestaw reguł NDepend w niewielkim stopniu pokrywa się z popularnymi analizatorami Roslyn. Analizatory Roslyn dobrze sprawdzają się w analizie przepływu kodu – tego, co dzieje się w metodzie – podczas gdy model kodu NDepend, na którym oparte są reguły NDepend, jest zoptymalizowany pod kątem widoku 360 poszczególnych obszarów o wyższej skali, w tym OOP, zależności, metryki, przełomowe zmiany, zmienność, nazewnictwo...
- Metryki oprogramowania (NDepend obsługuje obecnie 82 metryki kodu: złożoność cyklomatyczna ; sprzężenie aferentne i eferentne ; spójność relacyjna ; ranking strony Google typów .NET; procent kodu objętego testami itp.)
- Import danych pokrycia kodu z pokrycia Visual Studio, dotCover, OpenCover, NCover, NCrunch.
- Porównanie wersji dwóch wersji tego samego zestawu
- Integracja z Visual Studio 2022, 2019, 2017, 2015, 2013, 2012, 2010 lub może działać jako samodzielna aplikacja za pomocą VisualNDepend.exe, obok Jetbrains Rider lub Visual Studio Code .
- Raportowanie i integracja CI/CD z Azure DevOps , Bamboo , Jenkins , TeamCity , AppVeyor
Reguły kodu poprzez zapytania LINQ (CQLinq)
Zapytania kodu na żywo i reguły kodu za pośrednictwem zapytań LINQ to podstawa NDepend, wszystkie funkcje intensywnie z niego korzystają. Oto kilka przykładowych zapytań do kodu:
- Klasa podstawowa nie powinna używać pochodnych:
0
0
// <Name>Klasa bazowa nie powinna używać pochodnych</Name> warnif count > from baseClass in JustMyCodeTypes gdzie baseClass . IsClass && baseClass . NbChildren > // <-- dla optymalizacji! niech klasy pochodneUżyte = klasa podstawowa . Typy pochodne . UsedBy ( klasa podstawowa ) gdzie pochodneKlasyUżyte . Policz () 0
> wybierz nowy { klasa podstawowa , klasy pochodneUżyte }
- Unikaj tworzenia skomplikowanych metod jeszcze bardziej złożonych ( cykliczna złożoność kodu źródłowego ):
0
// <Name>Unikaj tworzenia złożonych metod jeszcze bardziej skomplikowanymi (cykliczna złożoność kodu źródłowego)</Name> warnif count > od m w JustMyCodeMethods gdzie ! m . IsAbstract && m . IsPresentInBothBuilds () && m . CodeWasChanged () niech oldCC = m . Starsza wersja (). CyclomaticComplexity gdzie oldCC >
6 && m . CyclomaticComplexity > oldCC wybierz nowy { m , oldCC , newCC = m . Złożoność cyklomatyczna , oldLoc = m . Starsza wersja (). NbLinesOfCode , newLoc = m . NbLinieKodu , }
Dodatkowo narzędzie zapewnia działający na żywo edytor zapytań CQLinq z uzupełnianiem kodu i osadzoną dokumentacją.
Zobacz też
- Matryca struktury projektowej
- Lista narzędzi do statycznej analizy kodu
- Wizualizacja oprogramowania
- Szlak źródłowy
Linki zewnętrzne
NDepend sprawdzone przez społeczność platformy .NET
- Wychodzenie ze strefy bólu: analiza statyczna z NDepend.aspx (Menedżer programu, Microsoft) omawia NDepend
- Omówienie przepełnienia stosu: użycie NDepend
- Abhishek Sur, na NDepend
- NDepend metryki kodu autorstwa Andre Lokera
- Analiza statyczna z NDepend autorstwa Henry'ego Cordesa
- Hendry Luk omawia ciągłą jakość oprogramowania z NDepend
- Jim Holmes (autor książki „Windows Developer Power Tools”), na NDepend.
- Mário Romano omawia metryki i macierz zależności z NDepend
- Recenzja Natesa
- Scott Mitchell (MSDN Magazine), Eksploracja kodu za pomocą NDepend
- Travis Illig na NDepend
Książki, które wspominają o NDepend
- Girish Suryanarayana, Ganesh Samarthyam i Tushar Sharma. Refaktoryzacja dla zapachów projektowania oprogramowania: Zarządzanie długiem technicznym (2014)
- Marcina Kawalerowicza i Craiga Berntsona. Ciągła integracja w .NET (2010)
- Jamesa Avery'ego i Jima Holmesa. Narzędzia dla programistów systemu Windows (2006)
- Patricka Cauldwella i Scotta Hanselmana . Code Leader: Używanie ludzi, narzędzi i procesów do tworzenia udanego oprogramowania (2008)
- Yogesh Shetty i Samir Jayaswal. Praktyczny .NET dla rynków finansowych (2006)
- Paula Duvala. Ciągła integracja (2007)
- Ricka Leineckera i Vanessy L. Williams. Visual Studio 2008 All-In-One Desk Reference dla bystrzaków (2008)
- Patryk Smachia. Praktyczne .Net 2 i C# 2: Wykorzystaj platformę, język, ramy (2006)