 |
(05.03.04 09:35)
Es hat ganz harnlos begonnen: Das Problem schien gelöst, die geeignete Abstraktion in Form einer Klasse gefunden und auch die Testbarkeit gewährleistet. Alles, was noch fehlte, war ein geeigneter Name. Den zu finden, sollte nicht schwierig sein. Das dachten wir zumindest am Anfang, so wie man das oft tut, wenn in Wirklichkeit gar nichts einfach ist. Das wir uns gründlich irrten, sollten wir bald genug erfahren. Die neue Klasse widersetzte sich nämlich hartnäckig sämtlichen Versuchen, sie zu benennen. All unser Hirnstürmen und Diskutieren half nicht - die Klasse blieb namenlos und bekam - quasi als Mutmacher - den Arbeitsnamen :-).
Nun sind wir als Team und jeder einzelne von uns nicht zum ersten Mal mit diesem Problem konfrontiert worden. Und so kramten wir in unserem Erfahrungswissen hilfreiche Faustregeln hervor, um die Diskussion voranzubringen. Als erstes die simple Regel: Eine Klasse sollte eine und nur eine Schlüsselabstraktion einfangen. Ok, was genau macht also die Klasse? Um diese Frage zu beantworten, fragen wir uns, welchen Summary-Kommentar (das ist der erste Satz in der Quellcodedoku, den Tools wie JavaDoc oder Doxygen als Kurzbeschreibung verwenden) wir unserer Klasse verpassen würden. Das haben wir irgendwie hinbekommen, doch es blieb ein ungutes Gefühl. Aber gut, erst mal weiter. Was ergibt sich daraus für ein Name? Ein ziemlich langer. Das ist schlecht. Nein, nicht, weil wir zu faul sind, lange Namen zu schreiben, das wäre kein guter Grund, einen langen Namen nicht zu wählen. Es ist vielmehr so, dass uns die Erfahrung Folgendes lehrt: zu lange Klassennamen sind oft ein Hinweis, dass diese Klasse mehr als eine Schlüsselabstraktion einfängt. Also steht nun die Frage im Raum, ob unsere Klasse zuviel tut. Nein, lautet die Antwort des Klassenschöpfers, ein ziemlich vehementes Nein noch dazu. Also, ungutes Bauchgefühl für den Moment vergessen und weiter. Und siehe da, nach zähem Ringen und dem Umbenennen bereits existierender Klassen im Entwurf: ein Name, der uns sogar gefällt. Geschafft! Kaffee holen und sich freuen. Für etwas mehr als 12 Stunden. Dann, als Ergebnis einer Sitzung, die Erkenntnis: Die Klasse wird es so nicht brauchen, der Name ist falsch, weil die Schlüsselabstraktion nicht passt.
Wir lernen: Wir sollten den Umstand, dass es uns schwerfällt, eine Abstraktion zu benennen, als ernsthaften Hinweis nehmen, dass wir etwas Entscheidendes noch nicht verstanden haben. Nun, eigentlich wusste ich das schon, was wiederum eine andere Erkenntnis bestätigt: Manchmal muss man mit demselben Kopf mehr als einmal gegen dieselbe Wand laufen, um zu begreifen, dass da keine Türe ist.
-nemo :-)
Über diesen Artikel diskutieren.
|
 |