Wenn Sie unter Druck stehen, nähert sich die Frist und ein Manager atmet Ihnen den Hals hinunter. Fangen Sie an, schlechten Code zu schreiben? Bleiben TDD und Best Practices auf der Strecke, um die Dinge zu erledigen? Was machst du in solchen Situationen? Welche Erfahrungen haben Sie gemacht?
14
Antworten:
Mit einem Wort, ja. Jeder, der Ihnen etwas anderes sagt, irrt sich wahrscheinlich im besten Fall.
Der Schlüssel ist jedoch, auf Ihrer Erfahrung aufzubauen, um weniger schlechten Code zu schreiben . Widerstehen Sie der Versuchung, etwas einzubauen, damit es "einfach funktioniert", wenn es überhaupt möglich ist, weil es nicht funktioniert. Sie müssen noch einen Prozess verfolgen (entweder Ihren eigenen oder den Ihres Unternehmens oder eine Mischung daraus).
Die Erfahrung sagt mir , dass sein viel besser ( Keuchen ) rutscht den Zeitplan für ein paar Tage einer Woche im Wert von Korrekturen zu verhindern, vor allem , wenn „unter Druck“ bedeutet eine beschleunigte Freigabe zur Produktion. Wenn Sie sich beeilen, den Code freizugeben, werden die Tester es wahrscheinlich eilig haben, ihn ebenfalls mit einem Stempel zu versehen.
quelle
Wenn das Team in einer Krise steckt, wurde etwas falsch gemacht.
Fehlende Termine sind ein Zeichen für eine schlechte Planung und Schätzung. Bestätigen Sie, dass die Frist nicht eingehalten wird, und beheben Sie das Problem. Manchmal haben Sie keine Kontrolle über die Planung oder Schätzung. Identifizieren Sie, wer dies tut, und stellen Sie sicher, dass er weiß, dass dies versehentlich getan wurde.
In einer Situation, in der die Frist nicht verschoben werden kann, brechen Sie die stark koffeinhaltigen Getränke aus und legen einen Ansturm darauf. Identifizieren Sie alles, was Sie opfern können, und schneiden Sie es aus. Nehmen Sie, was noch übrig ist, und setzen Sie es so schnell wie möglich um. Dies führt zu Problemen wie Instabilität, ungewöhnlichen Fehlern, ineffizienten Codierungsmethoden, Band-Aid-Korrekturen und allen möglichen anderen Horroren. Es ist nicht unbedingt schlechter Code, aber nicht ideal .
Von Joel über Software The Duct Tape Programmer .
Nicht idealer Code kann behandelt werden, wenn er behandelt wird . Code, der nicht behandelt wurde, wird sich häufen und zusätzliche Änderungen erschweren, wenn nicht sogar unmöglich machen. Es kann zu einem Punkt kommen, an dem die Anwendung so voneinander abhängig ist, dass Ergänzungen nur von den vorsichtigsten Programmierern zu einem exorbitanten Zeitaufwand durchgeführt werden können. Während der Versand ein Feature ist, so ist es Wartbarkeit.
quelle
Ich bin ein großer Fan von Software-Handwerkskunst - ich schreibe sauberen Code, so gut ich kann usw., aber manchmal musste ich mich in Momenten beeilen, in denen die Zeit knapp ist und sich eine Frist nähert. Ich versuche das wirklich nicht so gut wie möglich zu machen, aber manchmal kommt man nicht davon weg.
Einige Leute werden sagen "Nun, das ist das Leben, du musst Schiff", aber ich stimme dieser Einstellung wirklich nicht zu.
Wenn Sie schnell Code schreiben, kann es sein, dass Sie die Software pünktlich aus dem Haus bekommen, aber was passiert, wenn Sie in den nächsten Tagen Supportanrufe erhalten, die sich auf Fehler in der Software beziehen (diese Fehler leben im selben Teil) von Code, den Sie beeilten, fertig zu werden). Oder Sie werden von einem verärgerten Kunden gefragt, warum das Berichtsmodul nicht mehr funktioniert, obwohl Sie versprochen haben, dass es am Tag der Veröffentlichung in Ordnung sein würde?
Es ist alles sehr gut , wenn man sagt "Du musst Schiff" , aber es gibt einen Unterschied zwischen effizient aussehen und aussehen wie ein schlampiger Arbeiter.
quelle
Ja. Aber es kommt immer wieder, um mich später zu verfolgen.
quelle
Wenn ich in einer Stresssituation bin, soll mein Code die Arbeit erledigen. Das ist es. Ich konzentriere mich in meiner Meinung nicht auf Effizienz und andere Probleme, was schlecht ist.
Ich werde aber daran arbeiten.
quelle
Ich glaube nicht, dass ich persönlich wesentlich schlechteren Code schreibe, aber ich liefere ein schlechteres Produkt.
Bei einer willkürlichen und unmöglichen Frist wird der Entwicklungsprozess verkürzt. Wir machen mehr oberflächliche Codeüberprüfungen (oder überspringen sie insgesamt). Wir testen weniger, umgehen detaillierte Komponententests für Stichprobenintegrationstests und versuchen dann, den Integrationstest als formale Qualifikation zu zählen. Wir neigen dazu, Anomalien während des Testens zu übersehen, wenn sie nicht direkt mit Bestehen-Nichtbestehen-Kriterien verknüpft sind. Wir überspringen Dokumentationsaktualisierungen, überprüfen die Versionshinweise nicht noch einmal und vergessen, die Liste der zu liefernden Dateien nach nicht mehr benötigten Dateien zu durchsuchen.
Der Quellcode, den Sie während eines Crunchs schreiben, ist zwar von hoher Qualität, wird aber mit ziemlicher Sicherheit als Teil eines minderwertigen Produkts geliefert.
quelle
Hängt davon ab.
Liegt der Druck darin, dass auf keinen Fall alles möglich ist und einige Stunden vor der Veröffentlichung wichtige neue Funktionen hinzugefügt werden?
Es kommt ein schlechter Code!
Aber wenn es daran liegt, dass der Zeitplan einfach wirklich sehr eng ist, aber der Gesamtplan solide ist und ich einfach viel härter als sonst arbeiten und mich ständig konzentrieren muss, während ich ein paar Features bearbeite und höre ... Dann produziere ich viel besseren Code als wenn der Zeitplan tonnenweise Zeit lässt. Auch wenn dies bedeutet, dass nicht alle Komponententests geschrieben werden, sondern nur die Hauptteile des Codes.
quelle
Ich kenne jemanden, der niemals schlechten Code unter Druck schreibt. Er hat auch einige magische Bohnen, die Sie interessieren könnten.
Jeder schreibt manchmal schlechten Code und drohende Fristen sind der übliche Grund. Der Trick besteht darin, zu vermeiden, dass man überhaupt in diese Situation gerät (und das ist auch nicht einfach).
quelle