Hallo,
gibts, ist auch schon etwas älter https://www.google.com/cse?q=clean+code.
Guter code zeigt sich vor allen dann, wenn er personen aus folgenden Gruppen standhält (liste nicht vollständig):
http://de.wikipedia.org/wiki/Dunning-Kruger-Effekt davon treiben sich auch viele hier im forum rum.
http://de.wikipedia.org/wiki/Peter-Prinzip man braucht einen moment um solche kollegen zu identifizieren
http://de.wikipedia.org/wiki/Parkinsonsches_Gesetz greift besonders bei kollegen die nicht nein-sagen können, und ergo weniger zeit für mehr aufgaben haben.
hält der code solchen leuten auf dauer und mit ein bisschen pflege stand, dann ist es guter code.
ich verwende immer gerne ein ganz simples beispiel um guten code zu erklären:
int sum = 10 * 3 + 1000;
na? ist der code schlecht?
ja. weil er nicht ausdrückt was der autor vorhatte. jeder mathematiker rollt jetzt schon mit den augen. aber man muss die sachen aus einem anderen sichtwinkel betrachten. wie lange wird der code intakt inkl. kleinen änderungen überleben?
der nächste maintainer wird aus unsäglichen gründen (unkonzentriert, krank, keine zeit, idiot, ...) den code kaputtmachen.
int sum = (10 * 3) + 1000;
ist besser, weil sich der nächste, der den code anfasst nicht fragen muss:
"hat der depp (auch hier gilt der schluss mit den personengruppen) vielleicht doch int sum = 10 * (3 + 1000) gemeint?"
er ist maximal aussagekräftig und zwar nicht minimal kurz, aber minimal kurz, dass er maximale eindeutigkeit enthält.
dann höre ich immer wieder die argumente "wer punkt vor strichrechnung nicht kann ..."
-> DER HAT VIELLEICHT EINFACH EINEN SCHLECHTEN TAG
-> oder liest es im geiste anders
-> oder hat keine zeit ...
guter code lässt sich leicht verstehen. guter code ist so strukturiert, dass man vom groben in die tiefe steigen kann.
guter code erfordert eine menge disziplin, den 98% aller internetbeteiligten, die sich programmierer oder nerd oder geek schimpfen, überhaupt nicht aufbringen können.
und: ein "cleverer" algorithmus führt nicht notwendigerweise zu gutem code.
Hth