16 Stimmen

Ist es schlecht, Codeverträge in einer Produktionsumgebung einzusetzen?

Ich beziehe mich auf Folgendes Antwort (Hervorhebung von mir):

Schauen Sie sich die Attribute ContractClass und ContractClassFor an. Damit können Sie Klassen mit den Code-Verträgen in separaten Assemblies schreiben. Auf diese Weise können Sie die Verträge für die Entwicklungsarbeit zur Verfügung haben, ohne dass Ihr Code überladen wird und bedeutet auch, dass Sie die Verträge nicht zusammen mit dem Live-Code bereitstellen müssen

  1. Warum sollten Sie nicht wollen, dass die Verträge umgesetzt werden?

  2. Sind Verträge unter dem Gesichtspunkt der besten Praktiken ausschließlich für die Entwicklung und Qualitätskontrolle gedacht?

3voto

koenmetsu Punkte 1044
  1. Im Allgemeinen sollten Sie keine Postcondition-Verträge auf Release-Builds bereitstellen. Damit wollen Sie sicherstellen, dass Sie die Benutzer Ihrer Assemblies nicht mit Fehlern konfrontieren, für die Sie verantwortlich sind. Ich bin sicher, dass es noch andere Gründe gibt, aber das ist der erste, der mir in den Sinn kommt.

  2. Gegenwärtig gibt es meines Wissens keinen einzigen Best-Practice-Ansatz für Code Contracts. Es gibt verschiedene Möglichkeiten, Code Contracts zu verwenden (die im Code Contracts User Manual beschrieben sind), und jede davon hat ihre eigenen spezifischen Richtlinien.

Die Antwort, auf die Sie sich beziehen, ist auch nicht ganz korrekt, wie ich in den Kommentaren erklärt habe.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X