Handbuch Entwicklungsumgebung

IFS-Logo Diese Seite ist ein Teil der IsyFact-Standards. Alle Inhalte der Seite, insbesondere Texte und Grafiken, sind urheberrechtlich geschützt. Alle urheberrechtlichen Nutzungs- und Verwertungsrechte liegen beim Bundesverwaltungsamt.

Creative Commons Namensnennung Die Nutzung ist unter den Lizenzbedingungen der Creative Commons Namensnennung 4.0 International gestattet.

1. Einleitung

In diesem Dokument wird die Installation einer Entwicklungsumgebung erläutert, um Anwendungen mit der IsyFact zu entwickeln. Es richtet sich an Entwickler, die zum ersten Mal mit der IsyFact in Berührung kommen und möglichst schnell mit der Entwicklung einer Anwendung auf Basis der IsyFact beginnen möchten.

Bei der Softwareentwicklung werden Entwicklungsumgebungen (IDEs) wie Eclipse oder IntelliJ IDEA verwendet, welche die Anwendungsentwicklung in vielfältiger Weise unterstützen und effektiver gestalten.

Eine der unterstützenden Leistungen dieser IDEs, ist die einheitliche Formatierung des Quellcodes. Hier ist die Maßgabe, dass der Quellcode nicht je nach Einsatz einer IDE unterschiedlich aussieht. Dies kann, wenn in einem Team unterschiedliche IDEs verwendet werden, zu ständigen Wechseln der Formatierung führen, die sich in unnötig großen Commits ausdrücken.

Ebenso helfen Entwicklungsumgebungen dabei, Standard-Implementierungen für Konstruktoren, Getter/Setter und die Methoden equals() und hashCode() zu generieren.

Eine weitere Unterstützung ist die automatische Prüfung von Codierungsrichtlinien mit Checkstyle. Die IsyFact liefert eine Konfiguration für Checkstyle mit.

Dieses Dokument beschreibt die Einrichtung und Verwendung dieser Funktionen wie folgt:

Das Kapitel Formatierung von Quellcode beschreibt die einheitliche Konfiguration und Verwendung der in Eclipse und IntelliJ IDEA eingebauten Code-Formatierer. Die Konfiguration hat zum Ziel, den Quellcode in beiden IDEs nahezu identisch formatiert zu formatieren. Das Kapitel schließt mit einer kurzen Diskussion der verbleibenden Unterschiede bei der Formatierung.

Das Kapitel Generierung von equals() und hashCode() beschreibt insbesondere die Generierung von equals() und hashCode() konform zu den Java Programmierkonventionen.

Im Kapitel Einrichtung von Checkstyle wird die Installation und Einrichtung der Checkstyle-Plugins für Eclipse und IntelliJ IDEA beschrieben.

2. Aufbau und Zweck des Dokuments

Mit diesem Leitfaden bauen Sie eine funktionierende Entwicklungsumgebung auf und generieren mit dem Projektgenerator der IsyFact eine Hello-World-Anwendung.

2.1. Aufbau

Der Leitfaden führt Sie durch folgende Schritte:

  1. Virtuelle Maschine vorbereiten (optional) und

  2. benötigte Werkzeuge installieren und konfigurieren.

2.2. Voraussetzungen

Zum Abschluss des Leitfadens (ohne Vorbereitung einer virtuellen Maschine) benötigen Sie:

Wenn Sie sich eine virtuelle Maschine vorbereiten möchten, benötigen Sie zusätzlich:

  • Oracle VirtualBox

Wenn Sie sich bereits eine geeignete Umgebung geschaffen haben, um die Werkzeuge sowie die IsyFact-Bibliotheken zu installieren, können Sie die Vorbereitung einer virtuellen Maschine überspringen und direkt mit Werkzeuge installieren beginnen.

3. Virtuelle Maschine vorbereiten

In diesem Kapitel bereiten Sie eine virtuelle Maschine (VM) vor, auf der Sie später die IsyFact-Entwicklungsumgebung installieren werden.

Wenn Sie keine virtuelle Maschine für Ihre IsyFact-Entwicklungsumgebung einsetzen oder bereits eine virtuelle Maschine als Grundlage für Ihre IsyFact-Entwicklungsumgebung vorbereitet haben, können Sie dieses Kapitel überspringen und mit Werkzeuge installieren fortfahren.

3.1. VirtualBox installieren und konfigurieren

Für die Erstellung der virtuellen Maschine benötigen Sie ein Host-System, das die virtuelle Maschine als Gastsystem verwaltet. Das gängigste Produkt hierfür ist Oracle VirtualBox. VirtualBox lässt sich unter Oracle VirtualBox herunterladen.

leitfaden entwicklungsumgebung vb 01
Abbildung 1. Virtualbox Hauptmenü

VirtualBox kann mehrere virtuelle Maschinen verwalten. Jede virtuelle Maschine wird auf Ihrer Festplatte unterhalb des Home-Verzeichnisses im Ordner "VirtualBox VMs" verwaltet. Jedes dieser Verzeichnisse enthält Konfigurationsdateien für die virtuelle Maschine. Im Folgenden sprechen wir hierbei vom VM-Verzeichnis.

Um die virtuelle Maschine zu erzeugen, klicken Sie innerhalb von Oracle VirtualBox im Hauptmenü auf "Neu". Es erscheint ein neues Fenster, bei dem Sie im ersten Eingabefeld einen Namen Ihrer Wahl eingeben. Setzen Sie die Version auf Ubuntu (64-bit).

leitfaden entwicklungsumgebung vb 02
Abbildung 2. Eingabe des Names der virtuellen Maschine

Klicken Sie auf Weiter. Hierdurch wird VirtualBox das VM-Verzeichnis zur virtuellen Maschine erstellen. Das Verzeichnis trägt den gleichen Namen wie Ihre virtuelle Maschine.

Im nächsten Fenster wird der Hauptspeicher (RAM) der virtuellen Maschine konfiguriert. Die Größe des Hauptspeichers sollte mindestens 4096 Megabyte betragen.

leitfaden entwicklungsumgebung vb 03
Abbildung 3. Speichergröße festlegen

Klicken Sie auf Weiter. Danach können Sie eine Festplatte zu der virtuellen Maschine erstellen. Hierbei handelt es sich um eine Datei mit der Endung .vdi, die VirtualBox in das Verzeichnis der virtuellen Maschine speichert. Über die Option "Festplatte erzeugen" würden Sie diese Datei normalerweise ganz neu anlegen, um dort später das Ubuntu Betriebssystem zu installieren. Statt die Festplatte und das darin zu installierende Betriebssystem von Hand zu installieren, beschreibt diese Anleitung eine Abkürzung. Die Webseite OSBoxes bietet virtuelle Festplatten mit vorinstallierten Betriebssystemen an. Dieser Leitfaden benutzt die Desktop-Edition von Ubuntu. Diese ist unter OSBoxes Ubuntu verfügbar. Wählen Sie die VirtualBox-Version der virtuellen Festplatte und laden Sie sie herunter.

Nach dem Herunterladen befindet sich eine Datei mit dem Namen Ubuntu_<Version>-VB-64bit.7z in Ihrem Download-Verzeichnis. Entpacken Sie diese Datei in Ihr VM-Verzeichnis. Danach wechseln Sie wieder in das VirtualBox Programm, um die Festplatte einzubinden.

leitfaden entwicklungsumgebung vb 04
Abbildung 4. Virtuelle Festplatte einbinden

Die virtuelle Maschine sollte danach samt virtueller Festplatte bereit sein.

leitfaden entwicklungsumgebung vb aendern
Abbildung 5. Konfigurationsdaten der virtuellen Maschine

Anschließend müssen Sie die Boot-Reihenfolge, Prozessor-Anzahl, Grafikspeicher und die Austauschlaufwerke konfigurieren.

Hierfür selektieren Sie die neu erschaffene VM und wählen im Menü "Ändern". Im erscheinenden Einstellungsfenster wechseln Sie auf der linken Seite auf "Allgemein" und dann rechts in den Reiter "Erweitert". Öffnen Sie die beiden Combo-Boxen "Gemeinsame Zwischenablage" und "Drag’n’Drop" und selektieren Sie dort jeweils den Eintrag "bidirektional", um eine gemeinsame Zwischenablage des Host-Betriebssystems und der virtuellen Maschine zu erlangen.

leitfaden entwicklungsumgebung vb aendern 01
Abbildung 6. Zwischenablage konfigurieren

Dann wechseln Sie auf der linken Seite in den Eintrag "System". Auf der rechten Seite wählen Sie den Reiter "Hauptplatine" und verschieben die Einträge so, dass in der Boot-Reihenfolge zunächst die Platte und dann die DVD erscheint. Das Häkchen bei "Diskette" können Sie entfernen.

leitfaden entwicklungsumgebung vb aendern 02
Abbildung 7. Zeigergerät einrichten

Den Chipsatz belassen Sie bei PIIX3.

Je nach Zeigergerät selektieren Sie eine für Sie passende Option aus. In dem Screenshot wird beispielsweise "USB-Tablet" verwendet. Wenn Sie jedoch eine Maus einsetzen, selektieren Sie "PS/2-Maus".

Bei dem IO-APIC, handelt es sich um den sogenannten Advanced Programmable Interrupt Controller. Weil Sie für die Entwicklungsumgebung zwei Prozessorkerne im Gastsystem einsetzen werden, ist das Häkchen erforderlich.

Dann wechseln Sie in den Reiter "Prozessor". Hier stellen Sie ein, dass das Gastsystem über zwei Prozessoren verfügen soll.

leitfaden entwicklungsumgebung vb aendern 03
Abbildung 8. Prozessoren einrichten

Als Letztes klicken Sie auf der linken Seite auf "Gemeinsame Ordner". Auf der rechten Seite können Sie über einen Ordner-Button einen gemeinsamen Ordner hinzufügen. Wählen Sie einen für Sie passenden Ordner und setzen Sie ein Häkchen bei "Automatisch einbinden".

leitfaden entwicklungsumgebung vb aendern 04
Abbildung 9. Gemeinsamer Ordnerzugriff

Bestätigen Sie die Änderungen mit einem Klick auf OK.

Danach starten Sie die virtuelle Maschine mit einem Doppelklick auf die neu erstellte Instanz.

3.2. Ubuntu

Starten Sie Ihre virtuelle Maschine und melden Sie sich an:

leitfaden entwicklungsumgebung vb ubuntu 01
Abbildung 10. Startbildschirm der virtuellen Maschine

Benutzername und Kennwort sind bei den virtuellen Festplatten von OSBoxes standardmäßig gesetzt:

  • Benutzername: osboxes

  • Passwort: osboxes.org

  • Root-Passwort: osboxes.org

leitfaden entwicklungsumgebung vb ubuntu 02
Abbildung 11. Welcome der virtuellen Maschine

Anschließend legen Sie die Spracheinstellungen fest.

leitfaden entwicklungsumgebung vb ubuntu 03
Abbildung 12. Sprache der virtuellen Maschine konfigurieren

Die restlichen Einstellungen können Sie überspringen. Nun ist die Konfiguration von Ubuntu beendet.

leitfaden entwicklungsumgebung vb ubuntu 04
Abbildung 13. Konfigurationsende beim Erststart der virtuellen Maschine

Klicken Sie links oben auf "Activities" oder benutzen Sie die Windows-Taste oder Befehlstaste, um eine Übersicht der Applikationen zu bekommen.

leitfaden entwicklungsumgebung vb ubuntu 05
Abbildung 14. Startbildschirm der virtuellen Maschine nach dem Login

3.3. Die Gasterweiterungen

Oracle VirtualBox bietet Gasterweiterungen an, welche die Performanz des Gastsystems verbessert. Ein weiteres Feature ist, dass sich der Bildschirm beliebig skalieren lässt. Ohne Gasterweiterungen sind lediglich die Auflösungen 640x480, 800x600, und 1024x768 möglich. Außerdem funktioniert Drag-and-drop nur mit installierten Gasterweiterungen. Darüber hinaus bieten die Gasterweiterungen den sogenannten Seamless Mode an. Der Seamless Mode ermöglicht, dass sich die Fenster der VirtualBox Instanz innerhalb des Host-Systems anzeigen lassen, und somit den Anschein erwecken, sie seien in dieses integriert.

Um die Gasterweiterungen zu installieren, benötigen Sie ein optisches Laufwerk, das vor dem Start der Ubuntu Instanz noch leer ist. Wenn Sie die obigen Arbeitsschritte durchgeführt haben, sollte das optische Laufwerk aber bereits existieren.

Starten Sie die Ubuntu Instanz und klicken Sie im VirtualBox Menü auf den Eintrag Geräte  Gasterweiterungen einlegen…​.

leitfaden entwicklungsumgebung vb ubuntu gasterweiterung 01
Abbildung 15. Gasterweiterungen laden auf der virtuellen Maschine

Hierdurch wird eine virtuelle CD automatisch in das optische Laufwerk eingelegt, worauf eine Startanwendung von selbst dafür sorgt, dass die Gasterweiterungen installiert werden. Im aufkommenden Fenster klicken Sie auf "Run".

leitfaden entwicklungsumgebung vb ubuntu gasterweiterung 02
Abbildung 16. Gasterweiterungen installieren auf der virtuellen Maschine

Bestätigen Sie mit einem Klick auf "Run". Anschließend sollte die Installation der Gasterweiterungen starten.

leitfaden entwicklungsumgebung vb ubuntu gasterweiterung 03
Abbildung 17. leitfaden_entwicklungsumgebung_vb_ubuntu_gasterweiterung_03.png

Ihre virtuelle Maschine ist nun einsatzbereit.

4. Werkzeuge installieren

Als Nächstes benötigt Ihre Entwicklungsumgebung ein JDK, Git, Maven und eine Entwicklungsumgebung (in diesem Fall das Eclipse Derivat Spring Source Tool Suite (STS)).

4.1. JDK

Folgen Sie den Installationsanweisungen, die im Produktkatalog beim Java JDK verlinkt sind.

Fügen sie in der Datei .bashrc die Umgebungsvariable JAVA_HOME hinzu bzw. passen Sie diese auf das Installationsverzeichnis des JDK an. Unter Ubuntu/Debian ist dies in der Regel /usr/lib/jvm/temurin-17-jdk-amd64, also

JAVA_HOME=/usr/lib/jvm/temurin-17-jdk-amd64

Erweitern die Umgebungsvariable PATH:

PATH=$JAVA_HOME/bin:$PATH

4.2. Git

Danach installieren Sie Git mit folgender Anweisung:

sudo apt-get install git

Auf der Kommandozeile wird Git über den Aufruf des Kommandos git gesteuert. Das git-Kommando kennt eine Reihe von Optionsparametern. Die Konfiguration wird beispielsweise über den Optionsparameter config festgelegt. Dabei kann sie in drei Scopes durchgeführt werden. Über das Kommando

git config --system

nehmen Sie die Konfiguration für alle Benutzer des Betriebssystems vor. Diese System-Konfiguration wird automatisch in die Datei /etc/gitconfig geschrieben. Über

git config --global

führen Sie die Konfiguration für den aktuellen Benutzer durch. Diese Konfiguration wird automatisch in die Datei .gitconfig in Ihr Home-Verzeichnis geschrieben.

Darüber hinaus lässt sich in jedem einzelnen Verzeichnis eine eigene Konfiguration setzen, die in dem jeweiligen Unterverzeichnis .git/config geschrieben wird. Dabei werden die grob- von den feingranularen Konfigurationen überschrieben.

Mit folgender Anweisung setzen Sie die Konfiguration für Ihren Git-Benutzer:

git config --global user.name "Michael Mustermann"
git config --global user.email "MichaelMustermann@behoerde.de"

Jeder Konfigurationsstufe überschreibt die Werte der darüber liegenden Konfigurationsstufe. Beispielsweise gelten die Systemeinstellungen (--system) für alle Benutzer des Rechners, werden aber von globalen Einstellungen (--global) überschrieben.

Um die Konfiguration einzusehen, geben Sie folgendes Kommando ein:

git config --global --list

Hilfe erhalten Sie über den Optionsparameter help. Beispielsweise beschaffen Sie sich die Hilfestellung zum Optionsparameter config mit folgendem Kommando:

git help config.

4.3. Maven

IsyFact besteht aus zahlreichen Maven-Projekten. Ubuntu bietet von Haus aus ein eigenes Maven Paket an, das über folgendes Kommando installiert wird:

sudo apt-get install maven

4.4. Spring Tool Suite (STS)

Im nächsten Schritt installieren Sie die integrierte Entwicklungsumgebung Spring Tool Suite (STS). Auf der Webseite Spring Tool Suite bietet der Hersteller diesbezüglich eine Reihe von Download-Links an. Laden Sie die Linux-Version in der 64-Bit Variante herunter. Danach wechseln Sie in das Verzeichnis /opt und installieren die STS-Installationsdatei über folgendes Kommando:

sudo tar -xzf <Pfad zur STS-Installationsdatei> -C /opt

Anschließend ist die Entwicklungsumgebung über das Kommando STS im Ordner /opt/sts-bundle/<STS-Release> einsatzfähig.

leitfaden entwicklungsumgebung werkzeuge sts
Abbildung 18. Spring Tool Suite (STS) Installation

Um STS darüber hinaus über eine Desktop-Verknüpfung starten zu können, muss im Verzeichnis .local/share/applications Ihres Home-Verzeichnisses ein Programmstarter angelegt werden. Legen Sie dazu eine Datei namens STS.desktop in diesem Verzeichnis an und versehen Sie sie mit folgendem Inhalt:

#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/opt/sts-bundle/<STS-Release>/STS
Name=STS
Comment=Spring Tool Suite
Icon=/opt/sts-bundle/<STS-Release>/icon.xpm

Danach lässt sich STS über das Applikationsmenü von Ubuntu starten. Hierfür klicken Sie auf "Applications" - "Other" - "STS"

leitfaden entwicklungsumgebung werkzeuge sts other
Abbildung 19. Spring Tool Suite (STS) in "Activities Overview"

Außerdem wird STS nun auch in der "Activities Overview" angezeigt.

leitfaden entwicklungsumgebung werkzeuge sts overview
Abbildung 20. Spring Tool Suite (STS) als Activity

4.5. Apache Tomcat

Bei einer IsyFact-Anwendung handelt es sich um eine Webanwendung, die genauso wie andere JavaEE-basierte Webanwendungen in einem Servlet-Container betrieben wird. Der gängigste Web-Container hierfür ist Catalina bzw. das Produkt Apache Tomcat, das den Catalina Web Container integriert. Obwohl STS ein eigenes Apache Tomcat Derivat bereithält, setzt man bei einer IsyFact-Anwendung typischerweise Apache Tomcat ein. Deshalb wird in diesem Leitfaden diese Variante gezeigt. Laden Sie Apache Tomcat von der Webseite Apache herunter.

leitfaden entwicklungsumgebung werkzeuge apache tomcat 01
Abbildung 21. Download von Apache Tomcat

Nach dem Download extrahieren Sie den Apache Tomcat Server ins Verzeichnis /opt.

sudo tar -xzf <Pfad zur Tomcat-Installationsdatei> -C /opt

Über folgendes Kommando sorgen Sie auch noch dafür, dass das Installationsverzeichnis dem Benutzer osboxes gehört.

sudo chown -R osboxes /opt/apache-tomcat-8.5.16

Innerhalb von STS müssen Sie dafür sorgen, dass der Apache Tomcat Server eingebunden wird. Hierfür öffnen Sie STS und klicken im Hauptmenü auf "Window" - "Preferences". Im Einstellungsfenster öffnen Sie "Server" - "Runtime Environment". Klicken Sie hier auf "Add".

Öffnen Sie den Reiter "Apache" und selektieren Sie darunter den Eintrag "Apache Tomcat v8.5". Setzen Sie auch ein Häkchen bei der Checkbox "Create a new local server".

leitfaden entwicklungsumgebung werkzeuge apache tomcat 02
Abbildung 22. Server-Konfiguration

Klicken Sie auf "Next". Setzen Sie im erscheinenden Fenster den Installationspfad Ihres Apache Tomcat. In diesem Leitfaden ist das /opt/<Tomcat-Release>.

leitfaden entwicklungsumgebung werkzeuge apache tomcat 03
Abbildung 23. Konfiguration von Apache Tomcat

Klicken Sie auf "Finish".

leitfaden entwicklungsumgebung werkzeuge apache tomcat 04
Abbildung 24. Abschluss der Konfiguration

Klicken Sie auf "Apply and Close".

5. IDE einrichten

Die nachfolgenden Abschnitte zeigen Ihnen, wie Sie Ihre IDE nach den Maßgaben der IsyFact einrichten.

5.1. Formatierung von Quellcode

Die Code-Formatierungsregeln sind bei beiden IDEs (Eclipse und IntelliJ IDEA) über Konfigurationsmasken individuell einstellbar. Es besteht die Möglichkeit, die Formatierungsregeln als XML-Datei abzuspeichern bzw. vorhandene Formatierungsregeldateien zu importieren.

Zu den Formatierungskonfigurationsmasken gelangt man über folgende Menüeinträge:

  • Eclipse: Window  Preferences  Java  Code Style  Formatter

  • IntelliJ IDEA: File  Settings  Editor  Code Style  Java

5.1.1. Tastaturkürzel Codeformatierung

Wenn man sich innerhalb eines Codefensters befindet, kann man mit folgenden Tastaturkürzeln die Code-Formatierung anstoßen.

  • Eclipse: Alt+Shift+F

  • IntelliJ IDEA: Strg+Alt+L

5.1.2. Tastaturkürzel zum Aufräumen der Import-Anweisungen

Sollen lediglich der Import-Anweisungen aufgeräumt werden, kann im Codefenster folgendes Tastenkürzel verwendet werden.

  • Eclipse: Alt+Shift+O

  • IntelliJ IDEA: Strg+Alt+O

5.1.3. Import von Code Style Formatierungsdateien

Dieses Kapitel erläutert den Import der Konfiguration zur Quellcode-Formatierung für die Entwicklungsumgebungen Eclipse und IntelliJ IDEA. Die Dateien hierzu können von dieser Seite heruntergeladen werden.

Tabelle 1. Downloads zur Code-Formatierung
IDE Code-Formatierung Import-Order

Eclipse

Download

Download

IntelliJ IDEA

Download

5.1.3.1. IntelliJ IDEA
Die in dieser Installationsbeschreibung erstellten Screenshots basieren auf der IntelliJ IDEA Version 2017.2.

Schritt 1: Konfigurationsmaske öffnen

  • Menüeintrag File  Settings  Editor  Code Style  Java

Schritt 2: Import der Code-Formatter XML-Datei

  • Dropdown-Icon Einstellungen anklicken Einrichtung Entwicklungsumgebung 005b

  • Import Scheme  Intellij IDEA code style XML auswählen

  • In der daraufhin erscheinenden Dateiauswahlbox die zu importierende Datei auswählen

Einrichtung Entwicklungsumgebung 006
Abbildung 25. IntelliJ IDEA: Code Formatter Import

Der Name der Datei kann vom Namen des Scheme abweichen. Welcher Scheme-Name angezeigt wird, entscheidet sich durch einen entsprechenden Eintrag innerhalb der importierten XML-Datei.

5.1.3.1.1. Zusätzliche Einstellung

Weiterhin muss folgende Einstellung in File  Settings  Editor  General vorgenommen werden:

Unter "On Save": Ensure every saved file ends with a line break

Einrichtung Entwicklungsumgebung 006b
Abbildung 26. IntelliJ IDEA: Zusätzliche Einstellung
5.1.3.2. Eclipse
Die in dieser Installationsbeschreibung erstellten Screenshots basieren auf der Eclipse Version Neon.

Schritt 1: Konfigurationsmaske öffnen

  • Menüeintrag Window  Preferences  Java  Code Style  Formatter

Schritt 2: Import der Code-Formatter XML-Datei

  • Schaltfläche Import anklicken

  • In der daraufhin erscheinenden Dateiauswahlbox die zu importierende Datei auswählen

Einrichtung Entwicklungsumgebung 007
Abbildung 27. Eclipse: Code Formatter Import

Der Name der Datei kann vom Namen des aktiven Profiles des Formatters abweichen. Welcher Profilname angezeigt wird, entscheidet sich durch einen entsprechenden Eintrag innerhalb der importierten XML-Datei.

Schritt 3: Einrichtung des Import Organizers

  • Menüeintrag Window  Preferences  Java  Code Style  Organize Imports

  • In diesem Menü kann über "Import" die importorder-Datei importiert werden, welche die Reihenfolge automatisch folgendermaßen festlegt: java, javax, net, org, com, de

Einrichtung Entwicklungsumgebung 007b
Abbildung 28. Eclipse: Import Organizer

5.1.4. Formatierungsdifferenzen

Mithilfe der Einstellungsmasken für die Formatierung bei den beiden IDEs ist eine fast vollständige Übereinstimmung bei der automatischen Formatierung des Quellcodes möglich. Dieses Kapitel führt die noch verbliebenen Differenzen anhand einer Gegenüberstellung auf und diskutiert kurz die Konsequenzen.

Einrichtung Entwicklungsumgebung 008
Abbildung 29. Democode zur Veranschaulichung von Formatierungseinstellungen (Eclipse)
5.1.4.1. Leere Zeilen vor dem Ende des Kommentarblocks

Im javadoc Bereich löscht IntelliJ IDEA leere Kommentarzeilen, die vor dem Ende des Kommentarblocks stehen:

Einrichtung Entwicklungsumgebung 009
Abbildung 30. Differenz: Leerzeilen in Kommentaren

Bewertung: Da IntelliJ die Zeilen zwar löscht, aber Eclipse diese nicht wieder hinzufügt, stabilisiert sich dieser Unterschied in der Formatierung nach einem Commit eines Entwicklers, der IntelliJ IDEA verwendet.

5.1.4.2. Leerzeichen bei for-Schleifen

Beide Formatter erlauben es einzustellen, dass nach dem Semikolon in einer for-Schleife ein Leerzeichen stehen soll. Bei IntelliJ IDEA wird diese Regel streng umgesetzt, auch bei for(;;), währenddessen Eclipse Leerzeichen nur dann einfügt, wenn hinter dem Semikolon noch ein Ausdruck wie beispielsweise „b > i“ steht.

Einrichtung Entwicklungsumgebung 010
Abbildung 31. Differenz: Leerzeile in for-Schleife

Bewertung: Ein leeres Abbruchkriterium in der for-Schleife mag ein Testfall für eine Formatierungsprüfung sein, darf und sollte in der Praxis jedoch nicht vorkommen.

5.1.4.3. Behandlung von leeren Statements

Wenn ein leeres Statement im Quellcode vorhanden ist, fügt IntelliJ IDEA zwei Leerzeilen ein und setzt das Semikolon beim Formatieren in eine neue Zeile.

Einrichtung Entwicklungsumgebung 011
Abbildung 32. Differenz: Leere Statements

Bewertung: Ein überflüssiges, leeres Statement-Semikolon ist auffälliger, wenn es am Zeilenanfang steht. Dieser Fall ist allerdings erneut kein Problem der Formatierung, sondern ein Programmierfehler - das Semikolon sollte gelöscht werden.

5.2. Generierung von equals() und hashCode()

Eine Unterstützung bei der Codegenerierung erhält der Programmentwickler bei Einsatz von IntelliJ IDEA ohne zusätzliche Plug-Ins. Um bei der derzeit aktuellen Eclipse Version Neon identische Umsetzungen der beiden Methode zu generieren, wird das Plugin jenerate verwendet.

5.2.1. Eclipse

5.2.1.1. Installation des Plugins jenerate

Das Eclipse Plugin jenerate kann innerhalb von Eclipse über den „Eclipse Marketplace“ heruntergeladen und installiert werden.

Eclipse Menüpunkt: Help  Eclipse Marketplace

Einrichtung Entwicklungsumgebung 001
Abbildung 33. Eclipse Marketplace: Plugin-Suche
5.2.1.2. Grundkonfiguration

Bestimmte Einstellungen zur Steuerung der Erzeugung von Boilerplate Code können bei Eclipse über das Menü Window  Preferences  Java  Jenerate vorgenommen werden.

Der folgende Screenshot zeigt die Einstellungen, die bei der Boilerplate-Code-Erstellung die höchste Übereinstimmung mit dem von IntelliJ IDEA erzeugten Boilerplate Code ergibt.

Einrichtung Entwicklungsumgebung 002
Abbildung 34. Eclipse-Plugin jenerate - Grundeinstellungen

Wenn man sich im Klasseneditor über das Plugin jenerate die Methoden equals() und hashCode() generieren lässt, wird auf der Detailmaske zur Eingabe der zu verwendenden Parameter bei der Codegenerierung die in den Settings voreingestellte „Content Strategy“ angezeigt.

Sollte in der jenerate Grundeinstellungsmaske keine oder eine andere Vorauswahl getroffen worden sein, so muss hier die zu verwendende Content Strategy ebenfalls auf USE_JAVA (java.util.Objects) umgestellt werden.

Einrichtung Entwicklungsumgebung 004
Abbildung 35. Einstellung der Content Strategy
5.2.1.3. Boilerplate Code erzeugen

Die Generierung von Boilerplate Code selbst ist intuitiv und erfolgt in drei Schritten.

Schritt 1: Die Klasse wird wie üblich angelegt. Wichtig ist, dass alle für die zu generierenden Methoden relevanten Klassenvariablen bereits in der Klasse enthalten sind.

Schritt 2: Im Editor der Klasse ruft die Tastenkombination Alt+Shift+G ein kleines Auswahlmenü auf, das Optionen für die Erzeugung des Boilerplate Codes für eine der Methoden compareTo(), equals() & hashCode() oder toString() bietet.

Einrichtung Entwicklungsumgebung 003
Abbildung 36. Plugin jenerate - Methodenauswahl

Alternativ stehen die folgenden Tastenkombinationen zur Verfügung:

  • hashCode() & equals(): Alt+Shift+G, dann H

  • toString() Alt+Shift+G, dann S

  • compareTo() Alt+Shift+G, dann C

Schritt 3: Nach Auswahl der zu erzeugenden Methoden öffnet sich ein Auswahlfenster, auf dem man aus der Menge der im ersten Schritt angelegten Klassenvariablen diejenigen auswählen kann, die bei der Codegenerierung als Parameter einfließen sollen.

Werden Klassen zu einem späteren Zeitpunkt um weitere Klassenvariablen ergänzt, welche für die Methoden compareTo(), equals(), hashCode() oder toString() relevant sind, so kann der erzeugte Quellcode jederzeit wieder gelöscht und erneut erzeugt werden.

5.2.2. IntelliJ IDEA

In IntelliJ IDEA lässt sich die Vorgabe zur Codegenerierung direkt vorgeben. Diese ist im Generierungsdialog unter „Template“ einzustellen. Der Dialog wird mit Alt+Einfg und der Auswahl von equals() and hashCode() aufgerufen.

Einrichtung Entwicklungsumgebung 005
Abbildung 37. IntelliJ IDEA: Einstellung der Vorgabe zur Codegenerierung

5.3. Einrichtung von Checkstyle

Die Einbindung und Konfiguration von Checkstyle erfolgt über Plugins in der verwendeten IDE.

Mehr Details zur Verwendung der Checkstyle-Regeln finden sich im README des entsprechenden Repositories.

5.3.1. Installation des Plugins

5.3.1.1. Eclipse

Schritt 1: Installationsquelle für Checkstyle hinzufügen

  • Den Dialog Install öffnen: Help  Install New Software…​

  • Neben dem Eingabefeld Work With: auf die Schaltfläche Add…​ klicken und folgende Daten eintragen:

    Name: Eclipse Checkstyle Plugin
    Location: Eclipse Checkstyle Plugin

Einrichtung Entwicklungsumgebung 012
Abbildung 38. Installationsquelle für Checkstyle hinzufügen

Schritt 2: Checkstyle-Plugin installieren

  • Den Eintrag Checkstyle auswählen und die Installation mit Next > bis zum Ende ausführen.

Einrichtung Entwicklungsumgebung 013
Abbildung 39. Checkstyle-Plugins für Eclipse installieren
  • Im Anschluss wird ein Neustart der IDE empfohlen.

5.3.1.2. IntelliJ IDEA

Schritt 1: Checkstyle-Plugin suchen

  • Den Dialog Plugins öffnen: File  Settings…​  Plugins

  • Im Suchfeld checkstyle eingeben. Wird kein Treffer angezeigt, dann auf den Link Search in repositories klicken.

Einrichtung Entwicklungsumgebung 014
Abbildung 40. Suche nach Checkstyle-Plugin

Schritt 2: Checkstyle-Plugin installieren

  • Das Checkstyle-Plugin mit einem Klick auf die grüne Schaltfläche Install installieren.

Einrichtung Entwicklungsumgebung 015
Abbildung 41. Checkstyle-Plugin für IntelliJ IDEA installieren

5.3.2. Konfiguration des Plugins

5.3.2.1. Eclipse

Schritt 1: Konfigurationsmaske des Checkstyle-Plugin in Eclipse öffnen

  • Menüeintrag Window  Preferences  Checkstyle

Schritt 2: Import der Checkstyle-Konfiguration von IsyFact:

Die Ergebnisse von Checkstyle können anschließend über Window > Show View > Other…​ > Checkstyle violations angezeigt werden.

5.3.2.2. IntelliJ IDEA

Schritt 1: Konfigurationsmaske des Checkstyle-Plugin in IntelliJ öffnen

  • Menüeintrag File  Settings…​  Checkstyle (für das aktuelle Projekt)

  • Menüeintrag File  Other Settings  Default Settings…​  Checkstyle (für alle zukünftigen Projekte)

Schritt 2: Import der Checkstyle-Konfiguration von IsyFact

Die Ergebnisse von Checkstyle können anschließend über einen Tool-Button (standardmäßig am unteren Rand des IDE-Fensters) angezeigt werden.