Als «defensive-programming» getaggte Fragen


14
Macht TDD defensive Programmierung überflüssig?
Heute hatte ich ein interessantes Gespräch mit einem Kollegen. Ich bin ein defensiver Programmierer. Ich glaube, dass die Regel " eine Klasse muss sicherstellen, dass ihre Objekte einen gültigen Zustand haben, wenn mit von außerhalb der Klasse interagieren " immer eingehalten werden muss. Der Grund für diese Regel ist, dass …


10
Was definiert robusten Code?
Mein Professor bezieht sich immer wieder auf dieses Java-Beispiel, wenn er von "robustem" Code spricht: if (var == true) { ... } else if (var == false) { ... } else { ... } Er behauptet, dass "robuster Code" bedeutet, dass Ihr Programm alle Möglichkeiten berücksichtigt und dass es keinen …

7
Sollte ich den Rückgabewert eines Methodenaufrufs validieren, auch wenn ich weiß, dass die Methode keine fehlerhaften Eingaben zurückgeben kann?
Ich frage mich, ob ich mich gegen den Rückgabewert eines Methodenaufrufs verteidigen soll, indem ich überprüfe, ob er meine Erwartungen erfüllt, auch wenn ich weiß, dass die von mir aufgerufene Methode diese Erwartungen erfüllt. GEGEBEN User getUser(Int id) { User temp = new User(id); temp.setName("John"); return temp; } SOLL ICH …


3
Muss ich mich mit der Situation befassen, in der private Methoden durch Reflektion aufgerufen werden?
Muss ich beim Erstellen einer Bibliothek sicherstellen, dass die privaten Methoden wie erwartet funktionieren, wenn sie nicht von anderen Methoden derselben Klasse, sondern von einer anderen Bibliothek durch Reflektion aufgerufen werden ? Wenn beispielsweise eine private Methode private DoSomething(int number)Folgendes erwartet: number ist eine positive Ganzzahl ungleich Null und: Eine …

4
Wie defensiv sollten wir sein?
Wir haben Pex über einen Code ausgeführt und es wurden einige gute Dinge gezeigt (auch schlechte Dinge, aber sie wurden gezeigt, bevor es zur Produktion kommt!). Eines der schönen Dinge an Pex ist jedoch, dass es nicht unbedingt aufhört, nach Problemen zu suchen. Ein Bereich, den wir gefunden haben, ist, …
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.