Vermeiden Sie ausgefallene Codierungen. Je komplizierter der Code, desto wahrscheinlicher sind Fehler. In der Regel ist klar geschriebener Code auf modernen Systemen schnell und klein genug.
Verwenden Sie verfügbare Bibliotheken. Die einfachste Möglichkeit, Fehler beim Schreiben einer Dienstprogrammroutine zu vermeiden, besteht darin, sie nicht zu schreiben.
Lernen Sie ein paar formale Techniken für die komplizierteren Dinge. Wenn es komplizierte Bedingungen gibt, nageln Sie sie mit Stift und Papier fest. Idealerweise sollten Sie einige Beweistechniken kennen. Wenn ich nachweisen kann, dass der Code korrekt ist, ist er fast immer gut, außer für große, dumme, offensichtliche Fehler, die leicht zu beheben sind. Natürlich geht das nur so weit, aber manchmal kann man formell über kleine, aber komplizierte Dinge nachdenken.
Erfahren Sie, wie Sie bei vorhandenem Code eine Umgestaltung durchführen: wie Sie kleine Änderungen am Code vornehmen, häufig mithilfe eines automatisierten Tools, mit dem der Code besser lesbar wird, ohne das Verhalten zu ändern.
Mach nichts zu schnell. Nehmen Sie sich etwas Zeit, um die Dinge richtig zu machen, zu überprüfen, was Sie getan haben, und darüber nachzudenken, was Sie tun, kann sich später auszahlen.
Sobald Sie den Code geschrieben haben, verwenden Sie, was Sie haben, um es gut zu machen. Unit-Tests sind großartig. Sie können häufig Tests vorab schreiben, was ein großartiges Feedback sein kann (wenn dies konsequent durchgeführt wird, ist dies eine testgetriebene Entwicklung). Kompilieren Sie mit Warnoptionen und beachten Sie die Warnungen.
Bitten Sie jemanden, sich den Code anzusehen. Formale Codeüberprüfungen sind gut, aber möglicherweise nicht zu einem geeigneten Zeitpunkt. Pull-Anforderungen oder ähnliches, wenn Ihr SCM sie nicht unterstützt, ermöglichen asynchrone Überprüfungen. Buddy-Prüfung kann eine weniger formelle Überprüfung sein. Die Paarprogrammierung stellt sicher, dass zwei Augenpaare alles betrachten.