Es gibt Codierungsstandards, um Teams produktiver zu machen. Theoretisch erleichtern sie das Verstehen, Ändern und Testen von Code. In der Praxis können sie eine gefährliche Menge an Metaarbeit erzeugen. Teams schreiben vorhandenen Code immer wieder neu, um die korrekteste und eleganteste Lösung zu finden. Leider scheint das Meta-Work-Problem in Teams schlimmer zu sein, in denen jeder engagiert, leidenschaftlich und besessen davon ist, das Richtige zu tun.
Als Berater, der von Projekt zu Projekt wechselt, habe ich festgestellt, dass eine exzellente Disziplin mit einem starren Kodierungsstandard viel weniger zum Erfolg eines Projekts beiträgt als exzellente Entwickler, die an Ergebnissen interessiert sind. Inkonsistente Codierungsstile stören erstaunliche Entwickler nur geringfügig. Sie sind produktiv mit oder ohne Konsistenz. Zugegeben, wenn sie auf inkonsistenten Code stoßen, werden sie nach dem aktuellen Code fragenstandard und bleib dabei. Sie werden jedoch nicht darauf bestehen, jede Codezeile im Projekt auf den aktuellen Standard zu aktualisieren. Sie bestehen nicht darauf, weil sie Best Practices kommen und gehen gesehen haben. Die richtige Art, heute etwas zu tun, ist nicht die gleiche wie die richtige Art, morgen etwas zu tun. Wenn dies der Fall wäre, würden sich Ihre Codierungsstandards nicht weiterentwickeln. Wenn sich also die richtige Art und Weise, etwas zu tun, mit der Zeit ändert, ist unsere Definition von "richtig" möglicherweise fehlerhaft.
Das heißt nicht, dass Standards keine Rolle spielen. Denken Sie daran, dass das Ziel von Standards die Produktivität ist. Wenn Sie nicht garantieren können, dass sich das erneute Schreiben auf einen neuen Standard langfristig bezahlt macht, dann verschwenden Sie keine Zeit damit. Es ist viel einfacher, einen neuen Standard in neuem oder überarbeitetem Code zu rechtfertigen. Eleganz ist cool, aber nicht das Gleiche wie Ergebnisse.