Hallo,
Programmieren ist zu einem Großteil die Kunst, Probleme in Einzelschritte zu überlegen.
Ja, sicher - aber es ist auch die Kunst, diese Zerlegung nicht zu weit zu treiben. [...]
Aus verschiedenen Gründen, einer ist zum Beispiel Testbarkeit von Einzelschritten.
Das ist ein Argument; dafür kann man ja während der Entwicklungsphase diese Schritte isolieren. Im fertigen Code sollte die Granularität aber nicht mehr unbedingt so fein wie möglich sein, sondern nur so fein, wie man das Problem "üblicherweise" auch im Kopf gliedern würde.
Martin, da kann ich nur zustimmen.
Bei meinem eigenen Code, den sonst niemand lesen muss, gehe ich so vor: Entwickelt wird in kleinen Einzelschritten, aber nachdem ein abgeschlossenener Codeabschnitt (Objektmethode bzw. Funktion) ausführlich getestet und für gut befunden wurde, wird er so kompakt wie möglich formuliert und als Enzeiler minifiziert. Wenn ich später auf solche Zeilen stoße, weiß ich sofort: Halt, bloß nicht daran rumpfuschen, ist getestet und ok. Sollte sich doch irgendwann die Notwendigkeit ergeben, solchen Code zu überarbeiten, dann wird er eben zwecks Übersicht zuerst wieder mit einem Beautifier aufgehübscht, auch kein Problem.
Bei Teamarbeit wage ich das aber nicht. Vermutlich würden mir die Kollegen den Vogel zeigen ;) Im Team versuche ich ein gesundes Mittelmaß zwischen Kompaktheit/Ausdruckstärke und hinreichender Formulierung in leicht vertändlichen Einzelschritten.
Gruß, Don P