Wie Spartaner programmieren würden: Spartan Refactoring Plug-in für Eclipse

Hartmut Schlosser

Spartaner sind neben ihrer Kriegslust unter anderem dafür bekannt, auf jeden überflüssigen Luxus zu verzichten und ein streng diszipliniertes Leben zu führen. Und da mittlerweile so ziemlich alles auch auf das Programmieren angewandt wird, hat es auch diese Einstellung in den Rang einer Programmiertechnik geschafft. Das „spartanische Programmieren“ zeichnet sich denn auch durch die Zielsetzung aus, die Elemente einer Programmiersprache möglichst effizient einzusetzen. Verzichte auf Sprachelemente, die die Komplexität erhöhen, verschmähe jeden syntaktischen Zucker. Ziel: Erreiche das programmiertechnische Äquivalent zur lakonischen Sprache.

Zu den spartanischen Techniken gehören ein sparsamer Einsatz von Variabeln, möglichst kleine Interfaces, effiziente Kontrollstrukturen sowie die sorgfältige Nutzung des verfügbaren Monitor-Raumes. Wer sich diesen spartanischen Prinzipien annähern möchte, sollte sich dieses Wiki oder den Beitrag „Spartan Programming“ von Jeff Atwood anschauen.

Ein kleines Eclipse-Plug-in hilft nun dabei, einige dieser spartanischen Techniken automatisch umzusetzen. Das „Spartan Refactoring Plug-in“ verändert die Codebasis in dreierlei Hinsicht:

  1. If-else-Anweisungen werden wenn möglich in ternäre Ausdrücke verwandelt.
  2. True oder false werden von Ausdrücken entfernt, die ein Boolean mit true oder false vergleichen.
  3. If-else-Anweisungen werden dahingehend verändert, dass der kürzeste If-else-Branch stets zuerst kommt.

Ein Beispiel zu (1):

Aus:

public class C {
	public int f(boolean b)  {
		if (b)
		    return 7;
		else
		   return 42;
	}
}  

Macht das Tool:

public class C {
	public int f(boolean b)
		return b ? 7 : 42;
	}
}  

Man sieht: Lesbarkeit steht nicht unbedingt oben in der spartanischen Werteliste. Aber kürzer wird das ganze schon.

Das Eclipse-Plug-in ist aktuell in der Version 1.0.1 erschienen. Hier und da gibt es noch einige Ecken und Kanten, dafür ist das Plug-in aber auch quelloffen auf bitbucket zu finden. Weitere Infos finden angehende Spartaner auf der Projektseite.

Geschrieben von
Hartmut Schlosser
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.