Da kommt natürlich die Folgefrage, muss jeder code so geschrieben sein dass ihn auch der letzte Idiot versteht, oder ist es wichtiger dass der Algoritmus effektiv ist und die software um Magnituden schneller ist und genauso viel weniger Resourcen verbraucht?
Hi,
fürs erste ist es immer wichtiger, dass der Code gut, sauber, verständlich geschrieben ist. Optimierungen für Laufzeit und Speicherverbrauch sind nachträglich immer möglich, wenn sich herausstellt, dass dies tatsächlich nötig ist. Meist ist es nämlich gar nicht so - nicht mal bei mir im Embedded-Bereich, wo diese Punkte eine recht hohe Bedeutung haben, im Vergleich zu Webanwendungen.
Die Forderung, dass "jeder Idiot den Code versteht" bedingt noch ganz andere Vorteile. Wer sich nämlich im Vorfeld ausreichend Gedanken um die Verständlichkeit macht, wozu nicht zuletzt auch eine gut abgebildete Architektur gehört, der erschafft auch Fehlerresistenteren, besser testbaren, leichter erweiterbaren Code (natürlich gehört dazu noch ein bisschen mehr). Bei den heutigen Umfängen von Projekten ist es ist es zwingend nötig, dass die Kollegen den Code ebenfalls verstehen, und das möglichst schnell.
Außerdem sprechen wir hier nicht von Gegensätzlichkeiten. Wie oft wird z.B. derselbe Algorithmus mehrfach implementiert, weil die anderen Kollegen gar nicht geschnallt haben, dass es das schon gab.
Mein Lieblingszitat in diesem Zusammenhang: "Jeder Idiot kann Code schreiben, den die Maschine versteht. Die Kunst ist, Code zu schreiben, den ein Mensch versteht."
Ein gutes Schlagwort auch: Refactoring Hier gibt es auch einige Maßstäbe, um die Qualität von Code zu bewerteten.
Grüsse
Stefanie