© DrHitch/Shutterstock.com
DSL mit Xtext/Xtend

1 Luecken(x)text, eine DSL mit dynamischer Anbindung


Nicht nur für einen Freelancer, der gegen Projektende gerufen wird, um „die Deadline doch noch zu halten“, ist ein Codegenerator, der den ortsüblichen Programmcode erzeugt, ein wichtiges Hilfsmittel. Wir setzen hier unsere im shortcut "DSL mit Xtext/Xtend. 4GL mit externem Quellcode" begonnene Erstellung eines möglichst freien Codegenerators fort. Dabei werden wir Hilfestellungen erweitern, die unser DSL-Editor dem Nutzer bietet. Nach unserer Konzentration auf Grammatik und Generator wenden wir uns also weiteren Implementierungsbereichen im Xtext- und Xtend-Umfeld zu. Für die langjährigen (Stamm-)Entwickler reicht es aus, typische Muster aus Quelltexten als einfache Textdatei mit Platzhaltern (${platzhaltername}) zu versehen und in einem Verzeichnis abzulegen, um sie allgemein als Vorlage zur Verfügung zu stellen. Ohne weitere Arbeiten werden so alle Nutzer maximal bei der Belegung der Platzhalter mit sinnvollen Werten unterstützt. Die Fehler beim üblichen Vorgehen des Kopierens und Ersetzens, ein Relikt aus Cobol-Zeiten, werden vermieden.

Dieser shortcut beginnt mit der Entwicklung eines Luecken(x)text-Pakets und wird folglich viele Beispiele für die Anwendung Xtext-interner Techniken enthalten. Dabei verlassen wir unsere bisherige Beschränkung auf die Grammatik und den Generator und arbeiten uns beispielsweise in die Modifikation des ProposalProviders, der die Vorschläge für den Content Assistant (STRG + Space) bereitstellt, des Validators, der für die Überprüfung der Eingaben zuständig ist, und des QuickFix vor, der Fehler für uns automatisch korrigiert.

Freelancer zu Projektende

In vielen Projekten vermehren sich kurz vor dem Abgabetermin plötzlich die noch zu leistenden Arbeiten erheblich und die Zeit wird zu knapp, als dass die Stammbesatzung diese selbst bei erheblichen Überstunden und Arbeitswochenenden noch durchführen könnte. Dann werden kurzfristig Freelancer gebucht, um diese Aufgabenspitzen abzubauen, die meistens in etwa „Du schreibst jetzt vierzigmal eine Prüfroutine für die Datengruppen 1 – 40!“ lauten.

Es ist ein Massengeschäft, gleichermaßen unattraktiv und zeitfressend, das in der Regel darauf zurückzuführen ist, dass diese Arbeiten bis zum Ende aufgeschoben werden – so lange, bis man sich über die Einzelheiten der Implementierung im Klaren ist.

Die Wartung liegt später beim Stammpersonal

Natürlich sollen die Festangestellten später die Wartungsarbeiten an sämtlichen Quellcodes eigenständig und ohne Nachfragen beim Autor dieser Zeilen ...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang