Code Contracts

CodeContracts verwendet man zur Überprüfung von Parametern vor der eigentlichen Methodenausführung. Zunächst sollte das erforderliche Visual Studio AddIn (von Microsoft) installiert werden.  Nach der Installation erhält man unter den Projekteigenschaften eine neue Karteikarte Code Contracts:

CodeContracts1

Dort kann man sowohl das Static- als auch das Runtime-Checking aktivieren. Die statische Überprüfung wird unmittelbar nach dem Kompilieren ausgeführt und kann Probleme frühzeitig erkennen. Bei aktiviertem Runtime-Checking (z.B. im Debug -Modus) werden zur Laufzeit Exceptions geworfen, wenn gegen den Vertrag verstoßen wird. Ist die Runtime -Überprüfung ausgeschaltet (z.B. im Release-Modus), wird der Code ignoriert. Das führt natürlich zu einer verbesserten Performance. Im Code sieht das im einfachsten Fall so aus:

CodeContracts2

Bei aktivierter statischer Überprüfung werden dann folgende Fehler ausgegeben:

CodeContracts3

Weitere Infos unter:

http://www.codeproject.com/Articles/103779/Introducing-Code-Contracts

und

https://msdn.microsoft.com/de-de/library/system.diagnostics.contracts.contract%28v=vs.100%29.aspx

 

 

 

TFS Guide

TFSGuide

An dieser Stelle möchte ich auf den TFS Guide hinweisen: http://tfsguide.codeplex.com/.

Der TFS Guide wurde zwar seit 2007 nicht mehr angepasst, er enthält aber immer noch wichtige Informationen und Hilfestellungen, wenn es um das Thema Patterns & Best Practices geht. Insbesondere enthält er ein ausführliches Kapitel zum Thema Branching. Hier wird erläutert, wann man und wie man Branchen sollte. Weitere Infos zu diesem speziellen Thema findet man hier: http://vsarbranchingguide.codeplex.com/Releases

 

 

Übersetzung .Net Fehlermeldungen

Schon mal die exakte englischsprachige Übersetzung einer deutschen .Net-Fehlermeldung gesucht? Dann ist das die richtige Seite: FindErr.Net

FindErrorNet

Als Entwickler ist das oft sehr nützlich, da die englische Version einer Fehlermeldung häufig noch mehr und bessere Suchmaschinentreffer liefert.

Windows Azure SDK 2.2

windows-azure-logo

Es gibt ein neues Windows Azure SDK. Das neue SDK bringt eine Menge Verbesserungen. Die Erstaunlichste ist, dass man jetzt auch in der Cloud von seiner lokalen Entwicklungsmaschine debuggen kann. Das SDK 2.2 läuft unter VS 2012 und VS 2013, aber nicht VS 2010. Weitere Einzelheiten findet man hier:  http://weblogs.asp.net/scottgu/archive/2013/10/22/windows-azure-announcing-release-of-windows-azure-sdk-2-2-with-lots-of-goodies.aspx .

Windows Store App “Clean Code Developer”

CCD

An dieser Stelle möchte ich auf die kostenlose Windows Store App “Clean Code Developer” von der generic.de Software Technologies AG verweisen. Die Anwendung teilt den gesamten Stoff in Schwierigkeitsgrade von “Schwarzer Grad” bis “Weißer Grad” ein. Der Stoff wird dadurch für den Anfänger in gut verdauliche Häppchen gestückelt. Regeln und Prinzipien werden vorgestellt. Der fortgeschrittene Entwickler wird natürlich auch an vielen Stellen sagen: “Das haben wir doch immer schon so gemacht!”. Trotzdem lohnt sich ein Blick denn es macht einfach Spaß zwischendurch einfach mal kurz reinzuschauen.

Abfragen auf aktuellen Sprint mit dem TFS

TFS

Mit dem Team Foundation Server kann man eigene Abfragen auf WorkItems (Product Backlog, Fehler, Aufgaben, Testfälle, usw.) definieren. Häufig möchte man nur die WorkItems aus dem aktuellen Sprint anzeigen. Damit nicht jedes Teammitglied seine Abfragen permanent, d.h. bei jedem neuen Sprint anpassen muss, bietet sich der hier beschriebene Workaround an: http://intellitect.com/transitioning-between-sprintsiterations-with-tfs/.

Visual Studio UserVoice

UserVoice

Unter http://visualstudio.uservoice.com/forums/121579-visual-studio kann man Verbesserungsvorschläge und Änderungswünsche rund um das Thema Visual Studio eintragen. Wichtig ist, dass man die Einträge entsprechend voted. Mit jedem Konto hat man übrigens 3 Stimmen. Microsoft gibt an, dass die Wünsche in zukünftigen Releases entsprechend der Wichtigkeit berücksichtigt werden.

Unter http://www.uservoice.com kann man übrigens eine UserVoice-Site für eigene Projekte anlegen.