Wenn unerwartet Funktionalität um einen Fehler, oder einfach nur schlechtes Design

StackOverflow https://stackoverflow.com/questions/4300074

  •  29-09-2019
  •  | 
  •  

Frage

Es gibt Zeiten, wenn ein Programmierer eindeutig eine bewusste Wahl in ihrer Code-Struktur, dass die Ergebnisse im Verhalten, die (bestenfalls) ist gemacht hat unintuitive aber technisch nicht um einen Fehler, dass es kaputt ist. Sollte dies als Fehler und fixiert klassifiziert werden?

Zum Beispiel eine bekannte Open-Source-E-Commerce-System (wenn Sie auf meine Antwort Geschichte anschauen, werden Sie arbeiten heraus, welche eine!) Bietet Funktionen für Menge Stufung, wo ein Administrator die mehrere Einheiten angeben können, das muss hinzugefügt der Wagen (zB muß 5, 10, 15, 20, usw. sein). Der Code ist so geschrieben, dass diese Grenzen nur erzwungen, wenn das System im „Managen Auf“ -Modus ist (das heißt Lagerbeständen bei jeder Bestellung verringert werden). Nun ist es eine völlig gültige Situation, dass ein Ladenbesitzer wünschen kann ihr Produkt in bestimmten Schritten zu verkaufen, aber nicht die Lagerbestände verwalten. Der Code ignoriert die Konfiguration stumm (keine Rückmeldung an den admin) und es gibt keine Dokumentation der Anforderung nach Bestand verwalten eingeschaltet werden.

Ist das ein Fehler? Oder einfach nur schlechtes Design / Dokumentation.

Beachten Sie, ich bin sicher, dass einige Leser diese Frage als subjektiv interpretieren, aber ich denke, es ist ein wichtiger Unterschied zwischen Fehler und schlechtes Design. Dies ist besonders relevant in Open-Source-Projekten, bei denen Bug-Reporting in verschiedenen Prozessen als unternehmensinterne Systeme zur Arbeit neigt.

War es hilfreich?

Lösung

Bug Mittel Verhalten verschieden von dem, was der Programmierer im Sinne hatte, während Schlechtes Design bedeutet, dass das Verhalten vom Programmierer beabsichtigt ist etwas anderes als der Benutzer kann vernünftigerweise erwarten.

Andere Tipps

Gibt es eine Beschreibung, die angibt, ob die eine oder die andere ist richtig? Wenn es eine Spezifikation ist, dann ist es ein Fehler.

Wenn es keine Angabe, dann ist es vielleicht eine schlechte Dokumentation.

können Fehler auftreten, wenn der Code leise die Konfiguration ignoriert? Dann ist es ein Fehler.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top