2015 ist für .NET Entwickler ein Jahr der großen Neuerungen: neue Entwicklungsumgebung, neues Framework, neue Sprachelemente, neuer Compiler … Hinzu kommt Microsofts Bekenntnis zu Open Source : .Net ist wieder auf dem Vormarsch! Und es lohnt sich, am Ball zu bleiben und sich mit den neuen Möglichkeiten vertraut zu machen.
Neu in Visual Studio 2015: Compiler Roslyn
Das größte Aufsehen erregt sicher der neue Compiler mit dem schönen Namen „Roslyn“. Vermutlich fragen sich viele Entwickler, wenn sie „neuer Compiler“ hören: „Oh Schreck! Muss ich jetzt alles neu lernen? Laufen meine alten Anwendungen noch?“ Die beruhigende Antwort lautet: „Keine Panik. Roslyn compiliert (wie zuvor auch die alten CS- und VB-Compiler) einfach nur Text in die Zwischensprache IL“. Mit dem Unterschied, dass der Compiler nun keine Blackbox mehr ist, sondern der Entwickler in alle Compiler-Phasen Einblick nehmen und eingreifen kann. Wohlgemerkt „kann“, nicht „muss“. Man denke beispielsweise an die Umsetzung von Programmierrichtlinien. Oftmals sehen die lang diskutierten und ausgefeilten Programmierrichtlinien auf dem Papier zwar schön aus, im Tagesgeschäft jedoch bleibt die Kontrolle, ob der Code den Anforderungen entspricht und auch nach einigen Wochen noch von allen Programmierer-Kollegen verstanden wird, auf der Strecke. Nicht so mit Roslyn. Roslyn ermöglicht benutzerdefinierte Codeanalysen, die mit Visual Studio in Form von Codediagnosen und Codefixes verheiratet werden können. Und zwar entweder in Form von klassischen Visual-Studio-Erweiterungen oder in Form von NuGet-Paketen, die dann jeder Entwickler in seine Projekte lädt.
Neu in Visual Studio 2015: Sprachelemente in C# 6
Vorfreude macht sich auch breit angesichts einiger neuer, äußerst nützlicher Sprachelemente in C# 6. Absolut einfach zu erlernen und sofort zu benutzen sind beispielsweise der nameof-Operator. Damit funktioniert Refactoring z.B. endlich auch für Eigenschaftsnamen, die man in der INotifyPropertyChanged – Implementierung als Zeichenfolge angibt.
Zeichenfolgeninterpolation. Die Methode String.Format() hatte ja schon ihren Charme, aber es geht auch noch einfacher: $“Heute ist ein {DateTime.Today.DayOfWeek} im Jahre {DateTime.Today.Year}“
Etwas genauer sollte man sich – bevor man sie einsetzt – zum Beispiel folgende neue Sprachkonstrukte ansehen:
Bedingter Nulloperator. Wie viele NullReferenceExceptions wohl durch den Einsatz von PropertyChanged?.Invoke(…) zukünftig vermieden werden?
Initialisierung automatischer Eigenschaften. Liest sich public Color StandardFarbe { get; } = Color.Black nicht wunderbar?
Wie das alles genau funktioniert, wozu es gut ist und wo die Tücken liegen, zeigt SoftEd im neu aufgelegten 1-Tages-Kurs zu Visual Studio 2015: Umstieg auf Visual Studio 2015 und C# 6.0