Visual Studio: NDepend v2017 erschienen

NDepend ist in der Version v2017 erschienen und bietet tolle neue Features:

  • Smart Technical Debt Estimation – mit dieser Funktion sieht man auf einen Blick wie viel Zeit es kosten würde kritische Codestellen/Funktionen zu fixen bzw. ein Refactoring durchzuführen. Angenommen ein Entwickler implementiert eine neue Funktion und die NDepend Analyse würde jetzt ergeben, dass diese neu implementierte Funktion 30 Minuten an Refactoringaufwand in Anspruch nehmen würde. Mit diesem Wissen kann der Entwickler diese Codestelle jetzt direkt fixen bevor sie überhaupt eingecheckt wird. Was dann wiederum auf lange Sicht Zeit und evtl. zusätzlichen Aufwand einspart. Der ausgewiesene Zeitaufwand kann sogar direkt in monetäre Werte umgerechnet werden! Ein wirklich cooles neues Feature von NDepend.

  • Quality Gate – mit einem Quality Gate können diverse Prüfkriterien festgelegt werden, mit der die Codequalität sichergestellt werden kann. So kann man z.B. festlegen, dass bei gescheiterter Prüfung der Eincheckvorgang unterbunden wird oder der Quellcode nicht veröffentlicht werden darf. Dieses Feature funktioniert auch in Kombination mit der Smart Technical Debt Estimation.

  • Dashboard Verbesserungen – das Dashboard enthält jetzt Metriken für die Smart Technical Debt Estimation und den Status der Quality Gates

  • Report Verbesserungen – die Erweiterungen des Dashboards sind natürlich auch in den Report eingeflossen

  • Code Query Verbesserungen – innerhalb der Abfragesprache NDepend Code Query LINQ (CQLinq) können jetzt auch die oben genannten Features verwendet werden, z.B. können via CQLinq benutzerdefinierte Quality Gates definiert werden.

  • Die Standardregelen für die Codeprüfungen wurden überarbeitet

  • Unterstützung von Visual Studio 2017 RC und .NET Core

Weitere Informationen zu der neuen Version sind auf NDepend-Hompeage zu finden: http://www.ndepend.com/

In einem nächsten Artikel werde ich einzelne neue Fatures von NDepend mal etwas genauer im Detail zeigen.

0  

C#: OData-Operationen mit Parametern aufrufen

OData unterstützt benutzerdefinierte Operationen, sogenannte Aktionen und Funktionen. Eine Funktion muss Daten zurückliefern und hat im Normalfall keine Nebenwirkungen, d.h. eine Funktion sollte keine Daten verändern und lediglich lesend auf Daten zugreifen (GET). Aktionen hingegen können CRUD-Operationen auf Entitäten durchführen, d.h. man kann benutzerdefinierte Aktionen definieren, welche CREATE-, UPDATE- oder DELETE-Operationen auf Entitägen ausführen, wenn die Standard-Aktionen (POST/PUT/DELETE) den gestellten Anforderungen nicht genügen. Ebenso könnte man Aktionen definieren, die Daten aus verschiedenen Entitäten selektieren. Aktionen und Funktionen können an einen Entitätstyp, einen primitiven Datentyp, einen komplexen Datentyp oder an eine Collection gebunden sein.

Read more »

0  

C#: OData, SAP NW Gateway und CSRF-Token

Bei allen Änderungsanfragen (PUT, POST und DELETE) eines Clients gegen einen SAP Netweaver OData-Service muss der Client ein entsprechendes CSRF (Cross Site Request Forgery) Token mitgeben. In diesem Beitrag wird jetzt gezeigt wie man an solches Token anfordern und dann bei den OData-Requests mitgeben kann.

Read more »

0  

Microsofts PowerShell ist jetzt OpenSource und für Linux und OS X verfügbar

Die auf dem .NET-Framework basierende PowerShell wurde jetzt von Microsoft als OpenSource-Projekt freigegeben. Das GitHub Repository ist hier zu finden: https://github.com/PowerShell/PowerShell

Darüber hinaus steht die PowerShell jetzt plattformübergreifend für OS X und Linux zur Verfügung. Die Downloads für die unterschiedlichen Plattformen sind über das GitHub-Repository erhältlich.

Die PowerShell verbindet die aus Unix-Shells bekannte Philosophie von Pipes und Filtern mit dem Paradigma der objektorientierten Programmierung. Der Benutzer kann wie bisher einfache Befehle an einer Kommandozeile ausführen und miteinander verknüpfen oder aber auch komplexe Skript-Programme mit der eigens dafür entwickelten PowerShell Scripting Language schreiben. Interessant sind hier vor allem die sogenannten Cmdlets. Cmdlets sind in einer .NET Sprache verfasste Erweiterungen für die PowerShell, die sich direkt wie Befehle aufrufen lassen.

Weitere Informationen:

https://azure.microsoft.com/en-us/blog/powershell-is-open-sourced-and-is-available-on-linux/

https://blogs.msdn.microsoft.com/powershell/2016/08/18/powershell-on-linux-and-open-source-2/

0  

C#: Exception Handling bei asynchronen Methoden (async/await)

Bei der Verwendung von async/await können Methoden drei unterschiedliche Rückgabetypen besitzen: Task, Task<T> oder void. In den Best Practices wird jetzt immer geschrieben: „Vermeide den Rückgabetyp void und gib immer ein Task-Objekt zurück!“ Doch warum ist das so? Das soll jetzt im nachfolgenden Artikel etwas genauer erläutert werden.

Read more »

0  

.NET Framework 4.6.2 erschienen

Das .NET Framework ist in der Version 4.6.2 erschienen. Es gibt Neuerungen in den folgenden Bereichen:

Hier mal ein paar neue Features:

  • Long Path Support (es werden jetzt Pfade mit mehr als 260 Zeichen in der System.IO API unterstützt)
  • TLS 1.1/1.2 support für das ClickOnce-Deployment
  • Support für zusätzliche Kryptografie-Standards
  • Group Sorting für WPF
  • Soft keyboard und Per-Monitor DPI Unterstützung für WPF

Die vollständige Liste mit vorgenommen Änderungen ist hier zu finden: https://github.com/Microsoft/dotnet/blob/master/releases/net462/dotnet462-changes.md

Downloads

Der vollständige News-Beitrag ist hier zu finden: https://blogs.msdn.microsoft.com/dotnet/2016/08/02/announcing-net-framework-4-6-2/

0  

C#: BlockingCollection<T> am Beispiel MetroFtpClient

Innerhalb des MetroFtpClients (https://github.com/steve600/MetroFtpClient) gibt es eine Warteschlange um die auszuführenden Up- und Downloads zu verwalten. Bei der Abarbeitung der Warteschlange wünscht man sich nun oft einen gewissen Grad an Parallelität um die Performance zu steigern (z.B. mehrere simultane Downloads). Mit .NET 4.0 hat Microsoft einen großen Schritt in diese Richtung getan und den Entwicklern durch die sogenannten ConcurrentCollections (Quelle [1]) viel Arbeit abgenommen. In diesem Beitrag wird auf Basis des MetroFtpClients gezeigt wie man eine solche ConcurrentCollection einsetzen kann um mehrere simultane Downloads zu realisieren.

Read more »

0  

OpenSource: Vorstellung MetroFtpClient

In diesem Beitrag möchte ich mal ein kleines Tool für FTP-Zugriffe vorstellen. Als Ausgangsbasis für den MetroFtpClient (https://github.com/steve600/MetroFtpClient) diente das PrismMahAppsSample (https://github.com/steve600/PrismMahAppsSample) und die Standard .NET-Klassen FtpWebRequest/FtpWebRespsonse. Auch für dieses Projekt wurden wieder einige OpenSource-Projekte verwendet. Hier mal eine Übersicht:

Hier schon einmal ein erster Screenshot:

MetroFtpClient Verbindungsansicht

MetroFtpClient


Read more »

0  

Visual Studio 2015: Mole Visual Studio Debugger/Visualizer

Mole ist ein alternativer Visualisierer für Visual Studio zum detaillierten Inspizieren von .NET-Anwendungen. Während einer Debugging-Session erlauben Visualisierer das Betrachten von UI- und Datenobjekten. Somit kann man sich z.B. den VisualTree einer WPF-Awendung direkt im Debugger anschauen, ohne auf zusätzliche Tools zurückgreifen zu müssen. Darüber hinaus unterstützt Mole das Suchen und Editieren von Eigenschaften und Feldern. Hier mal ein Screenshot:

Mole Visual Studio Debugger

Mole Visual Studio Debugger

Features:

  • Anzeige des Elementbaums für WPF- und WinForms-Anwendungen
  • Anzeige eines Bildes des selektierten Elements
  • Möglichkeit zum Editieren einzelner Eigenschaften
  • Analyse von WPF-Databindings
  • Export-Funktionalität

Mole unterstützt Visual Studio 2015 in der Professional oder Enterprise Version. Weitere Informationen zur Historie und Tutorials sind hier zu finden:

GitHub: https://github.com/Oceanware/Mole2015
Website: https://oceanware.wordpress.com/mole-visual-studio-debugger-visualizer/

0  

Tipps: Nützliche Community-Projekte aus dem .NET-Umfeld

In diesem Beitrag möchte ich mal einige Community-Projekte vorstellen. Gerade in den letzten Jahren ist die Open Source Community rasant gewachsen. Das zeigt sich auch schon an den diversen Plattformen: Angefangen beim Klassiker SourceForge über CodePlex von Microsoft bis hin zu GitHub. Auf jeder einzelnen Plattform sind tausende Projekte gehostet und da kann eine Suche schon recht schwierig werden. Ich möchte hier jetzt mal einen kleinen Überblick über Projekte aus dem .NET-Umfeld geben (diese Liste hat keinen Anspruch auf Vollständigkeit und wird kontinuierlich aktualisiert).

Read more »

0  
Fork me on GitHub