Sie werden eine Menge Probleme haben Java zu schreiben, vor allem Multi-Threaded-Code, wenn Sie nicht diese einfachen Ideen verstehen:
- Pre-Bedingungen sind die Dinge, die vor einem Verfahren erfüllt sein müssen wird genannt. Die Methode sagt Kunden "das ist, was ich von Ihnen erwarte".
- Post-Bedingungen sind die Dinge, die nach Abschluss der Methode wahr sein müssen. Die Methode sagt Kunden "das ist, was ich verspreche, für Sie zu tun".
- Invarianten sind die Dinge, die immer wahr sind und sich nicht ändern werden. Die Methode sagt den Klienten, "wenn das wahr war, bevor du mich angerufen hast, verspreche ich, dass es immer noch wahr sein wird, wenn ich fertig bin".
Sie sind alle Teil einer Idee namens "Programmierung per Vertrag". Es wurde von einem Typen namens C.A.R. Hoare erfunden. Bertrand Meyer hat darum eine objektorientierte Sprache namens Eiffel aufgebaut. Niemand benutzt es sehr, aber er hatte deswegen einen Tag in der Sonne.
Eiffel ist nicht sehr beliebt. Es gibt über vier Millionen Fragen zu SO, während ich dies schreibe, aber nur 32 von ihnen sind mit "Eiffel" markiert.
Update: Es gab 11.966.392 Frage zu SO am 29-Jun-2016. Nur 92 von ihnen wurden mit "Eiffel" getaggt. Der Prozentsatz der Eiffel-Fragen bleibt ungefähr konstant bei ~ 0,00077%.
Ich stehe korrigiert - danke, flamingpenguin. Ich habe meine Antwort aktualisiert.
mit einer Neigung, Ihnen zu helfen, richtigere Fragen über SO zu stellen, stellen Sie bitte spezifische Fragen, etwas, das Ihre eigene Forschung/Arbeit in das Thema zeigt, Wert Ihrer Frage hinzufügend. Dinge, die Sie im Internet allgemein finden können, stellen keine guten Fragen zu SO. PS: Ich habe dich nicht selbst abgelehnt. – Bhaskar
Das ist ein bisschen hart ... – yshavit
Wie ist die Frage mehrdeutig? Er wollte klären, was diese Begriffe mit einem Codebeispiel bedeuten. Und er hat recherchiert, weil er das verdammte Buch liest. Manchmal schleift SO einfach meine Zahnräder. Pfui. – Ungeheuer