Die Frage nach Standardwerten im Allgemeinen - Standardwerte für Rückgabefunktionen, Standardparameterwerte, Standardlogik für den Fall, dass etwas fehlt, Standardlogik für die Behandlung von Ausnahmen, Standardlogik für die Behandlung der Randbedingungen usw.
Für eine lange Zeit hielt ich Standardwerte für eine "reine böse" Sache, etwas, das "die Katastrophe verhüllt" und dazu führt, dass es sehr schwer ist, Fehler zu finden. Aber in letzter Zeit habe ich angefangen, mir Standardwerte als eine Art technische Schulden vorzustellen. Das ist keine schlechte Sache, sondern eine Art "kurzfristige Finanzierung", die uns dazu bringt, das Projekt zu überleben (wie viele von uns könnten es sich leisten) ein Haus kaufen, ohne die Hypothek aufzunehmen?).
Wenn ich "kurzfristig" sage, meine ich damit nicht, "mache zuerst etwas schnelles und überarbeite es später, bevor es in die Produktion kommt". Nein, ich spreche davon, mich auf fest codierte Standardwerte in einer Produktionssoftware zu verlassen. Zugegeben - es könnte einige Probleme verursachen, aber was ist, wenn es nur ein einziges Problem in einem ganzen Jahr verursachen würde?
Wiederum - ich spreche hier von der "durchschnittlichen" Mainstream-Software (keine Software für ein Kernkraftwerk) - der durchschnittlichen Website oder einer UI-Anwendung für die Buchhaltungssoftware, was bedeutet, dass Menschenleben nicht auf dem Spiel stehen, noch Millionen von Dollar .
Aus meiner Erfahrung heraus würden Geschäftsanwender lieber mit der Software leben, die "irgendwie funktioniert", als auf eine perfekte zu warten. Die Verwendung von Standardwerten ist sehr hilfreich, wenn Sie eine Software im RAD-Stil entwickeln. Aber wieder - die längsten Debugsitzungen, die ich je verbracht habe, waren wegen der Fehler, die durch einen Standardwert verursacht wurden, der entweder aufgehört hat, "ein Standard" zu sein, oder weil ein kleines Subsystem kürzlich aktualisiert wurde und als Ergebnis dieses Upgrades nicht aktualisiert wurde Behandeln Sie die Standardeinstellung korrekt (z. B. leere Liste gegen Null oder leere Zeichenfolge gegen leere Zeichenfolge).
Also meine Frage ist - sind die Standardwerte gut oder böse. Und wenn es sich um eine technische Verschuldung handelt - wie hoch ist der Betrag, den Sie leihen können, um sich die Rückzahlungen leisten zu können?
Würde mich über jeden Input wirklich freuen.
Prost.
BEARBEITEN:
Wenn ich die Standardwerte verwende, um die Ecken während der Entwicklung zu kürzen, und wenn das Schneiden der Ecken zu Fehlern und Problemen führt, wie kann ich diese Probleme beheben?