Nachlese Eclipse Code Recommenders | Print |
Written by Michael Jastram   
Tuesday, 04 September 2012 11:08

IDE 2.0 - das war das Schlagwort mit dem Marcel Bruch seinen Vortrag über die Eclipse Code Recommenders abschloss. Aber war diese Bezeichnung gerechtfertigt? Die ca. 60 Teilnehmer zum ersten rheinjug-Vortrag nach der Sommerpause konnten dieser Bezeichnung nur zustimmen: Was die Code Recommenders leisten, ermöglicht eine ganz neue Produktivität bei der Arbeit.

Code Recommenders sind eine Sammlung von Eclipse-Erweiterungen, die Informationen aus dem Verhalten der Nutzer und bestehendem Code ziehen, um produktiveres Arbeiten zu ermöglichen. Das einfachste Feature ist einfach eine besseres Code Complete: Statt einfach - wie bisher - alle Methoden und Felder aufzuführen, werden diese nach Häufigkeit der Nutzung sortiert angezeigt. Das funktioniert auch kontext-sensitiv: Für die selbe Klasse gibt es also unterschiedliche Empfehlungen, je nachdem, wo sie eingesetzt wird.

Das ganze funktioniert durch die Analyse von existierendem Code. Die Code Recommenders ziehen dabei den Code von Eclipse heran, wodurch viele Beispiele auch aus dem Bereich GUI-Entwicklung kamen. Das ganze geht aber weit über Code Complete hinaus. Zum Beispiel können auch ganze Code-Segmente vorgeschlagen werden. Eclipse erlaub es zwar, händisch Code Templates anzulegen, aber Code Recommenders macht dies voll automatisch.

Code Recommenders sind lernfähig. Wenn zum Beispiel eine Methode ausgewählt wird, die an dritter Stelle der Auswahlliste stand, so wird diese nächstes Mal an erster Stelle angezeigt. Innerhalb einer Organisation ist es natürlich auch möglich, gelerntes in einer zentralen Datenbank abzulegen und das Wissen somit Kollegen zugänglich zu machen.

Die IDE ist voll von Informationen, und Marcel präsentierte mehrere Ansätze, diese zur Verfügung zu stellen. Interessant war auch der Ansatz, automatisch Dokumentation zu erzeugen. In dem Fall wird z.B. dem Nutzer mitgeteilt, welche Methoden implementiert werden müssen, und welche implementiert werden sollten. Wenn es sich (statistisch) zeigt, dass es unterschiedliche Ansätze gibt, so werdendie Alternativen dem Nutzer durch unterschiedliche Design Patterns präsentiert. Nicht alle Ansätze sind im stabilen Release der Code Recommenders verfügbar. Beispielsweise wird auch mit der Analyse von öffentlichen Web-basierten Codesammlungen experimentiert.

Keines der vorgestellten Features ist in sich revolutionär, auch wenn sie teilweise zu drastischen Produktivitätssprüngen führen können. Zusammen ergeben sie jedoch einen völlig neuen Denkansatz, wie eine IDE arbeiten kann - eben IDE 2.0

Wie immer klang der Abend bei einem gemütlichen Bier und interessanten Gesprächen aus, die sich nicht nur um die Code Recommenders drehten, sondern auch um VersionEye, das Versions-Tracking-System unseres Veranstaltungs-Sponsors.