In einer Welt, in der die meisten Liefertermine von geschäftlichen Erfordernissen diktiert werden, liefern Programmierer in der Regel Code, der funktioniert. Wenn man weiß, dass der Code funktioniert, spielen Struktur und Effizienz des Codes oft keine Rolle mehr. Sofern keine Produktionsqualität vorgegeben ist (z. B. API für einen Algorithmus), ist bei Code, der nur wenige hundert Zeilen lang ist, lieferbarer Code gleichzusetzen mit Code, der funktioniert.
Meine Frage ist folgende: Würden Sie so lange programmieren, bis das Feature funktioniert, und dann fertig sein, wenn Sie ein ETA für ein Feature angeben? Oder würden Sie es so schnell wie möglich zum Laufen bringen und für die Release-Qualität überarbeiten?
Ich tendiere zu Letzterem, obwohl es nach mehr Arbeit klingt. Wenn Code, der funktioniert, auf algorithmische Effizienz und Muster hin zerlegt wird, ist es eine freudige Erfahrung, ihn wieder zusammenzusetzen. Außerdem bekommt es all die nicht-funktionale Liebe - weniger Bugs, performant, erweiterbar, sicher. Ich glaube nicht, dass ich gut darin bin, beim ersten Mal den besten Code zu schreiben. Daher funktioniert dieser Ansatz gut für mich.
Ich würde gerne wissen, welche Methode bevorzugt wird und warum? Ich bin nicht auf der Suche nach einem branchenweiten Ansatz, sondern nur nach individuellen Neigungen, damit ich die Ähnlichkeit der Gedanken beurteilen kann.