Visual Studio 2017 - Architektur & Code Analyse

Visual Studio bietet umfangreiche Funktionen im Bereich Architektur und Code Analyse über die nicht häufig berichtet wird. Diese Funktionen sind aber ungerechtfertigter Weise "hinter dem Vorhang" und haben auch mit Visual Studio 2017 einige Neuerungen und Weiterentwicklung bekommen.

 

Echtzeitüberprüfung von Architekturabhängigkeiten: Der Editor überprüft während Änderungen im Code vorgenommen werden ob Architekturvorgaben verletzt werden. Unerwünschte Abhängigkeiten werden vermieden und in der Fehlerliste angezeigt bzw. mit Wellenlinien im Text-Editor angezeigt.

Live Unit Tests: Live Unit Tests geben direktes Feedback zur Testabdeckung und Ergebnissen der Testausführung. Dazu werden bei Änderungen im Code permanent Unit Tests (MSTest, xUnit, NUnit) ausgeführt und in der Codezeile das Feedback angezeigt (erfolgreich, nicht erfolgreich, keine Abdeckung). Live Unit Testing ist für C# und VB (.NET Framework) verfügbar sowie auch für das .NET Core Framework (ab 2.0 und Visual Studio 2017 Update 3).

Ergänzung (9. Aug.): Live Unit Tests und die Echtzeitüberprüfung von Architekturabhängigkeiten sind Funktionen von Visual Studio Enterprise.

Code Maps: Die Visualisierung von Abhängigkeiten im Code hilft bei der Einarbeitung in ein Projekt und beim Erkennen von Abhängigkeiten ohne den gesamten Code lesen zu müssen. Die grafische Darstellung kann sowohl mit Visual Studio Professional sowie auch Visual Studio Enterprise gelesen werden aber nur mit Visual Studio Enterprise erstellt werden. Der Schwerpunkt bei der Sprachunterstützung liegt im managed .NET Bereich:

Codeabhängigkeiten können in folgenden Sprachen durch Code Maps dargestellt werden:

  • Visual C# .NET oder Visual Basic .NET in einer Projektmappe oder in Assemblys (.dll oder .exe)
  • Den systemeigenen oder verwalteten C oder C++-Code in Visual C++-Projekten, Headerdateien (.h oder #include) oder Binärdateien
  • Aus .NET-Modulen für Microsoft Dynamics AX erstellte X++-Projekte und X++-Assemblydateien
Hinweis: Für andere als C#- oder Visual Basic .NET-Projekte sind weniger Optionen zum Starten einer Code Map oder zum Hinzufügen von Elementen zu einer vorhanden Code Map verfügbar. Beispielweise können Sie nicht mit der rechten Maustaste auf ein Objekt im Text-Editor eines C++-Projekts klicken, es einer Code Map hinzuzufügen. Sie können jedoch einzelne Codeelemente oder Dateien per Drag & Drop aus dem Projektmappen-Explorer, der Klassenansicht und dem Objektbrowser verschieben.

Speziell im Bereich der grafischen Darstellung von Codeabhängigkeiten gibt es auch außerhalb von .NET Erweiterungen und cross-Plattform Partnerlösungen. Ein Anbieter aus Österreich (Salzburg) ist neu in den Visual Studio Marktplatz gekommen: Sourcetrail
Sourcetrail ist ein corss-Plattform Werkzeug für C/C++/Java und bietet eine intelligente Suche, grafische Darstellung und Anzeige des dazugehörigen Codes an. Visual Studio wird dabei als Editor nicht ersetzt und eine JSON-basierte Compilation DB rundet den cross-Plattform Gedanken ab.

Visual Studio sowie auch Microsoft Azure richtet sich an Entwickler aller Plattformen und Sprachen: Ein spezielle Webseite hat Informationen zu Visual Studio für Java Entwickler zusammengefasst. Mit Azure können Sie Java-Apps ganz leicht bereitstellen und skalieren - mit den Tools Ihrer Wahl.