AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Verträge für Delphi / Design by Contract
Thema durchsuchen
Ansicht
Themen-Optionen

Verträge für Delphi / Design by Contract

Offene Frage von "jaenicke"
Ein Thema von dominikkv · begonnen am 26. Jun 2013 · letzter Beitrag vom 29. Nov 2013
 
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#6

AW: Verträge für Delphi / Design by Contract

  Alt 26. Jun 2013, 15:02
Ich sehe allerdings nicht viele Vorteile gegenüber rein eigenem Code. Denn angeben muss man das so oder so und ob man die Bedingungen nun komplett prüft oder nur die Bedingungen hinschreibt... Eine Funktion wie Assert für diese Fälle kann man auch selbst schreiben, die das Ergebnis prüft.
Bei Objekten kann man natürlich die Preconditions mit Assert() prüfen, auch für die Postconditions kann man den Aufwand treiben. Allerdings ist dies dann Code, der in der Methode selbst ausgeführt wird. Das bedeutet, die Methode wird mit zusätzlichem Code aufgebläht, es vermischt sich Contract-Code mit normalem Code und der Sinn / Zweck des Contract-Codes ist nicht auf den ersten Blick ersichtlich.

Außerdem gehört das dann zum Verhalten des Objektes, und nicht zum Datentyp an sich. Der Vertrag vermischt sich mit der Implementierung.

Des Weiteren gibt es ein Einsatzgebiet bei dem das nicht funktioniert: abstrakte Datentypen. Einem Interface kannst du Pre- und Postconditions nicht beibringen. Da Interfaces für mich immer wichtiger werden (man soll mit Interfaces arbeiten, nicht direkt mit Objekten) habe ich gehofft, dass es ein Plugin / Addon für Delphi gibt. In Java kenne ich eins, dass dies mit Hilfe von Annotations umsetzt. Da man in Delphi auch Annotations einsetzen kann dachte ich, ich frag mal hier
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat
 

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz