Ich habe schon oft über das Phänomen nachgedacht, aber noch nie einen passenden Begriff dazu gefunden. Und gestern auf dem JUG-KA-Vortrag fiel er endlich: „Ravioli Code“
Der Begriff „Spaghetti Code“ sollte bekannt sein. Er beschreibt die Unübersichtlichkeit von Code aufgrund wilden Hin- und Herspringens.
„Ravioli Code“ beschreibt, dass der relevante Businesscode über zu viele kleine (in diesem Fall Java-)Klassen verteilt ist und man sich deshalb den Programmablauf mühsam aus all diesen „herausfischen“ muss. Also bspw. um am Ende 25 Zeilen Businesslogik zu verstehen ist es notwendig, das Zusammenspiel von 10 verschiedenen Klassen zu analysieren.
Ich bezeichne dieses Symptom, das m.E. in der Javawelt oft anzutreffen ist, gerne als „Over-Engineering“, und ist mit ein Grund für die Idee von LessCode.
Ich bin mir sicher, dass das alles etwas weniger dramatisch wäre, wenn die Sprachsyntax von Java endlich mal Closures bekäme, aber nichtmal für Java 7 wird es wohl so sein.
Update: Inzwischen scheint es so, als ob mehrere Varianten in Frage kämen, jedoch bei beiden ist nicht mit einem Lambda-Konstrukt vor 2012 zu rechnen: http://www.heise.de/newsticker/meldung/Java-7-erscheint-fruehestens-Mitte-2011-1075639.html