Sep 182007
 

Eclipse LogoMit Eclipse 3.3 gibt es endlich die Möglichkeit beim Speichern einer Java-Datei automatisch Code Bereinigungen und Formatierung durchzuführen. Die Einstellung hierfür kann im Eclipse-Projekt definiert werden und nicht ausschließlich Workspace-weit. Das ist ein Vorteil, denn dann können diese Einstellungen ins Versionskontrollsystem aufgenommen und somit implizit im gesamten Entwicklungsteam verfügbar gemacht werden. Auf diese Weise garantiert man eine einheitliche Formatierung im Projekt.

Die Einstellungen hierfür werden in den Projekteinstellungen unter “Java Editor – Save Actions” (siehe Screenshot) gemacht. Sinnvoll in diesem Zusammenhang ist es, die Eclipse-Formattierungseinstellung für das Projekt zu definieren und ebenfalls ins Versionskontrollsystem aufzunehmen.

Eclise 3.3 Save Actions

Ich verwende Eclipse 3.3 mit Save-Actions seit einigen Monaten in einem kleineren Projekt und es hilft uns dabei den Java-Code einheitlich zu halten. Überflüssige Imports und aus dem Rahmen fallende Formattierungen gehören der Vergangenheit an. Folgende Optionen bei den Save-Actions habe ich dabei im Einsatz:

  • Code Style: “Use Blocks where possible” = “Always” (Generell sollten immer geschweifte Klammern für Statement-Blöcke verwendet werden)
  • Code Style: “Use Parentheses around conditions” = “Always” (Dies trägt meiner Erfahrung nach zur besseren Lesbarkeit von boolschen Ausdrücken bei)
  • Unnecessary Code: “Remove unused imports”
  • Unnecessary Code: “Remove unnecessary casts”
  • Missing Code: “Add missing Annotations” (Die Override-Annotation ist ein sehr wichtiges Feature, welches hilft Fehler zu vermeiden, wenn die überschriebene Methode in ihrer Signatur / Benennung geändert wird)
  • Code Organizing: “Remove Trailing whitespace” = “All lines”
  • “Organize Imports” (Sortierung, fehlende Imports ergänzen)
  • “Format source code” (mittels projektspezifischen Formatierungsregeln)

Das Sortieren von Membern (Felder, Methoden) hat sich als störend erwiesen. Ich finde, dass man zwar die Member-Typen (Klassenfeld, Instanzfeld, innere Klasse, Methode, statische Methode) in einer Klasse trennen und dabei eine definierte Reihenfolge einhalten sollte, jedoch ist eine Sortierung innerhalb dieser Gruppen unnötig. Schließlich hat man in jeder IDE eine Liste aller Member einer Klasse zur Verfügung.

Für den Einsatz von Eclipse 3.3 und den Save-Actions im Großprojekt, für das ich derzeit als Architekt tätig bin, muss ich einen geeigneten Zeitpunkt finden. Denn einen Wermutstropfen hat die automatische Formatierung und Bereinigung: Bestehender Code wird formatiert und der Vergleich von Versionen einer Datei über das Versionskontrollsystem wird erschwert. Daher lege ich jedem gerade im Aufbau befindlichen Java-Projekt ans Herz, sofort die Eclipse Save-Actions einzusetzen.

  One Response to “Eclipse 3.3 Java Editor Save Actions – Code Bereinigung und Formatierung”

  1. Kannte ich bisher nicht, vielen Dank , sehr praktisch!

 Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>