Jede klare Antwort wird extrem sein. Offensichtlich gibt es Fälle, in denen die Frist so kurz ist, dass Sie hässlichen Code verwenden müssen, und es gibt Fälle, in denen der Code so hässlich ist, dass es sich lohnt, die Frist zu verpassen, um ihn zu verbessern. Was Sie brauchen, sind Methoden, um zu beurteilen, in welchem Bereich Sie sich befinden, und vielleicht Methoden, um realistische Fristen festzulegen, die Zeit zum Schreiben von besserem Code lassen.
Bewahren Sie die Bereinigung nicht für später auf. Es gibt kein "späteres" Ereignis, in dem die Aufräumarbeiten für den Code eine höhere Priorität haben als im Moment, es sei denn, Sie haben normalerweise Zeiträume, in denen Sie nichts anderes zu tun haben als die Umgestaltung. Die Routine lautet "rot, grün, refaktorieren", nicht "rot, grün, zwei Wochen lang etwas völlig anderes tun, refaktorieren". Realistisch gesehen werden Sie den Code erst ändern, wenn Sie ihn das nächste Mal aus einem anderen Grund erneut aufrufen, und dann werden Sie wahrscheinlich auch eine Frist einhalten. Ihre wirklichen Optionen sind, es jetzt zu reparieren oder es zu lassen.
Natürlich ist gut gestalteter Code besser als schlecht gestalteter Code, vorausgesetzt, Sie planen, ihn jemals wieder zu lesen. Wenn Sie vorhaben, es nie wieder zu lesen, räumen Sie es nicht auf . Versenden Sie das erste, was die Tests besteht. Aber das ist ein ziemlich seltenes Szenario, für die meisten Programmierer passiert es ungefähr nie. Wenn Sie diesen Fall ignorieren, haben nur Sie die Details Ihres realen Falls, um zu beurteilen, wie viel es kostet, ihn zu reparieren, und wie viel es kostet (bei einer erhöhten zukünftigen Wartung), ihn nicht zu reparieren.
Es gibt bestimmte Dinge, die an dem Punkt, an dem der Code gewartet werden muss, nicht schwieriger zu beheben sind als jetzt. Diese Probleme können Sie jetzt nicht wirklich beheben. Die offensichtlichsten sind trivial zu beheben (Whitespace-Fehler und ähnliches) und so ist es schwer vorstellbar, dass Sie Zeit haben, diese Frage zu stellen, aber sie nicht zu beheben ;-) Für diejenigen, die nicht trivial sind und von dieser Art sind, dann OK Sie haben einen Code, der nicht ideal ist, aber Sie müssen pragmatisch sein. Es funktioniert und Sie haben eine Frist. Benutze es.
Es gibt bestimmte Dinge, die jetzt wesentlich einfacher zu beheben sind als später, wenn (a) sie in den Köpfen aller nicht so frisch sind; (b) andere Dinge wurden geschrieben, die sich auf sie stützen oder sie imitieren. Diese Probleme können jetzt viel besser behoben werden. Priorisieren Sie sie daher. Wenn Sie in Ihren Fristen keine Zeit haben, diese zu korrigieren, müssen Sie so viel Druck wie möglich auf längere Fristen ausüben, da Sie in Ihrer Codebasis Schulden aufbauen, die Sie wahrscheinlich beim nächsten Besuch bezahlen müssen der Code.
Die bevorzugte Methode zum Korrigieren von Code ist ein Überprüfungsprozess. Kommentieren Sie die Probleme, die Sie damit haben, und senden Sie sie an den Junior zurück, um sie zu ändern . Sie können Beispiele geben, was Sie meinen, und dem Junior überlassen, alle Fälle in dem Code zu finden, auf den er sich bezieht, aber den Code nicht einfach für ihn zu Ende bringen. Wenn du das tust, gibst du ihnen keine Möglichkeit, sich zu verbessern.
Sie sollten häufig auftretende Probleme in einen Styleguide schreiben, der besagt: "Mach das nicht, mach das stattdessen" und erklärt, warum. Letztendlich darf der Grund sein, "um unseren Code ästhetisch konsistent zu machen", aber wenn Sie nicht bereit sind, Ihre Regeln mit einer Begründung aufzuschreiben, sollten Sie sie wahrscheinlich auch nicht durchsetzen. Lassen Sie einfach jedem Programmierer die freie Wahl.
Achten Sie schließlich auf die Tendenz, Dinge auf unbestimmte Zeit zu optimieren. Die Renditen nehmen ab, und Sie müssen durch Erfahrung lernen, wo sie noch gut sind. Es ist absolut wichtig, dass Sie eine realistische Vorstellung davon haben, was gut genug ist. Andernfalls können Sie nicht die Verhandlung führen, bei der Sie sicherstellen, dass Ihre Fristen Ihnen Zeit geben, "gut genug" Code zu erstellen. Verbringen Sie Ihre Zeit mit Dingen, die nicht gut genug sind.