Freitag, 5. April 2013

STC 2013 Berlin - Be lazy with Roslyn

Michael Kokonowskyj erzählt etwas über Roslyn was in Richtung Productivity Tools geht.

Daher kommt auch zu Beginn eine Frage wer Tools wie ReSharper und die Power Productivity Tools einsetzt.

Michael geht darauf ein, dass wir als Entwickler nicht unbedingt Fleißarbeit leisten sollten sondern uns Tools zu nutze machen sollen oder uns Tools bauen sollen.

Die Agenda des Vortrags soll abdecken was hinter Roslyn steht und wie man es sowohl innerhalb als auch außerhalb von Visual Studio einsetzen kann.

Roslyn ist ein "Compiler as a Service" - daher erklärt Michael erst einmal was im grunde ein Compiler ist .. Code rein --> Assembly raus :)

Roslyn kann eingeteilt werden in die Compiler Pipline, eine Compiler API und in Language Services.

Language Services sind z.B. für Codehighlighting zuständig.



Bei Roslyn baut Microsoft aus dem Code einen Syntax Tree auf, der schon bei ein paar Zeilen Code recht komplex werden kann.

Nach den ersten Folien zeigt Michael nun eine Anwendung die mit dem Roslyn SDK mit installiert wird und in der sich alle notwendigen Informationen finden lassen. Unter anderem ein nettes Sample bei dem ich C# Code kopieren und über das Menü als VB Code in eine VB Datei wieder einfügen kann.

Nach diesem Sample wird ein - wie ich finde - sehr cooles VS Plugin gezeigt, den Roslyn Syntax Visualizer, der den aktuell angezeigten Sourcecode farbig als Syntax Tree darstellt.

Nach diesem kurzem Überblick geht es jetzt über zu einem Getting Started.

Es gibt zwei Analyse Roslyn Templates Code Issue und Code Refactoring - Issue kann z.B. helfen Methoden zu analysieren, mit Refactoring kann man Tools bauen um z.B. einen Codeblock zu einer Methode zu extrahieren.

Outliner Projecte könnten herangezogen werden um die Highlight-Farbe von bestimmten Codeelementen zu ändern.

Es folgt eine Demoproject zu Code Issues - es ist wohl ein Teil eines real Produkts - vielleicht gibt es den Quellcode trotzdem später online.
Im Beispiel wird gezeigt wie ich zu einer Methode ein neues Attribut hinzufügen kann - für eine einzelne Methode sicher langweilig, wenn ich das vielen Methoden Automatische machen kann spart es schon einiges an Zeit.
Beim editieren des Codes kommt zur Nutzung unserer Extension eine kleine Glühbirne - wie beim ReSharper.

Weitere Einsatzgebiete von Roslyn sind Scripting Engines und die code Generierung (mit Analyse etc.).

Auch hierfür wird jetzt ein kleines Beispiel gezeigt - ein Formelinterpreter.



Nachteile von Roslyn - es ist wohl schlecht dokumentiert und fühlt sich unrund an und es ist noch eine CTP sprich die Schnittstellen ändern sich und wenn man es schon produktiv einsetzt muss man ordentlich "hineterherrefactoren".

Ich hab jetzt leider einen anderen Termin und hoffe die Folien sind später online - bis hierhin war es sehr spannend und lehrreich! Danke Michael.



Keine Kommentare:

Kommentar veröffentlichen