Als «code-contracts» getaggte Fragen

4
Warum sollte ich Codeverträge verwenden?
Vor kurzem bin ich auf das Framework von Microsoft für Codeverträge gestoßen. Ich las ein bisschen Dokumentation und fragte mich ständig: "Warum sollte ich das jemals tun wollen, da es keine statische Analyse durchführt und oft nicht kann." Jetzt habe ich schon eine Art defensiven Programmierstil, mit Ausnahmen wie dieser: …

2
Wann soll [Pure] in einem Konstruktor verwendet werden?
Ich lerne etwas über Codeverträge in .NET und versuche, die Idee reiner Konstruktoren zu verstehen. Der Code Verträge Dokumentation lautet: Alle Methoden, die in einem Vertrag aufgerufen werden, müssen rein sein. Das heißt, sie dürfen keinen bereits vorhandenen Status aktualisieren. Eine reine Methode darf Objekte ändern, die nach dem Eintritt …

6
Vertragsprogrammierung vs Unit Test
Ich bin ein etwas defensiver Programmierer und ein großer Fan von Microsoft Code Contracts. Jetzt kann ich nicht immer C # verwenden und in den meisten Sprachen habe ich nur noch Assertions. So lande ich normalerweise mit folgendem Code: class { function() { checkInvariants(); assert(/* requirement */); try { /* …

2
Code Verträge / Behauptungen: Was ist mit doppelten Schecks?
Ich bin ein großer Fan von Zusicherungen, Verträgen oder anderen Arten von Schecks, die in der von mir verwendeten Sprache verfügbar sind. Eine Sache, die mich ein bisschen stört, ist, dass ich nicht sicher bin, wie es üblich ist, mit doppelten Prüfungen umzugehen. Beispielsituation: Ich schreibe zuerst die folgende Funktion …

4
Behandeln von Änderungen in einer ereignisgesteuerten Microservice-Architektur
Ich mache ein Forschungsprojekt, in dem ich die Optionen erforsche, um Änderungen in einer ereignisgesteuerten Microservice-Architektur zu handhaben. Nehmen wir also an, wir haben eine Anwendung, in der wir vier verschiedene Dienste haben. Jeder dieser Dienste verfügt über eine eigene Datenbank zum Speichern lokaler Daten. In diesem Setup kommunizieren die …
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.