![]() |
AW: Frage zu Propertys
Zitat:
Die Frage die der TE stellte, war: "Aber was spricht denn gegen property Name: String read FName write FName; ?" Und mein geschilderter Anwendungsfall wäre somit ein Punkt, der m.E. dagegen spricht :> |
AW: Frage zu Propertys
@alda
Ich will jetzt nicht mit dem Spruch kommen, dass alles was Delphi-Entwickler vormachen gleich richtig ist, aber guckt man sich die Delphi-Units an, wird nirgendwo über Setter oder Getter auf eine Feldvariable zugegriffen. Die Regel ist
Delphi-Quellcode:
. Nur wenn noch etwas Code dazukommt wird es anders gemacht.
property SomeProp: integer read FSomeProp write FSomeProp;
Der Entwickler macht es also vor, warum soll man es anders machen? |
AW: Frage zu Propertys
So stell ich mir eine lebhafte Diskussion vor :) :thumb:
|
AW: Frage zu Propertys
Zitat:
kann mir jemand mal erklären wie das gemeint ist mit den Interfaces und der Testbarkeit? Eine Klasse mit einer Property, die direkt auf die Feldvariable schreibt/liest, kann man nicht testen? Und es geht doch um eine Klasse, wie kommen da jetzt Interfaces ins Spiel? |
AW: Frage zu Propertys
Er meint keine Properties und dafür nur Getter/Setter, die er durch Interfaces definiert. ( Die Implementierung/Attribute ist/sind dann black box)
|
AW: Frage zu Propertys
Ist es nicht letztlich eine Frage des Anwendungsfalles - wie so oft ?
Ich persönlich benutze absolut überhaupt keine Interfaces, weil es schlicht keine Notwendigkeit bisher dazu gab (Faulheit in Sachen Speicher nicht mehr freigeben ist keine für mich :lol:). Ergo sind für mich Getter/Setter, die nichts weiter tun, als Werte einzuschreiben bzw. wieder auszulesen absolut überflüssiger Code, der nur Platz und Laufzeit kostet. Folglich habe ich faktisch nur "propf"'s im Code. Ganz anders unser Interface-Mensch, der alles und jeden in ein Interface steckt - der ist gezwungen, Getter/Setter zu haben, selbst wenn sie nur einschreiben bzw. auslesen (was für mich bereits ein Grund ist, Interfaces möglichst zu meiden - unnötigen Code produzieren zu müssen). So hat jeder sein Kreuz zu tragen ;) |
AW: Frage zu Propertys
Zitat:
Interfaces nur um der Interfaces willen ist genauso intelligent wie Setter nur um der Setter willen. |
AW: Frage zu Propertys
Zitat:
Zum Testen wird einfach eine andere Klasse verwendet, welche zusätzliche Debugfeatures enthält oder die immer nur definierte Testdaten liefert, so daß man immer wieder das gleiche Verhalten hat, welches sich leichter testen lässt, da man dann immer das selbe Ergebnis rausbekommt. z.B. du hast einen Parser/Auswertecode, welcher getestet werden soll, dann wird in diesem Fall die Klasse ausgetauscht, welche die zu verarbeitenden Daten liefert. Man kann auch die Anzeigeklasse austauschen, welche die verarbeiteten Daten gleich prüft. Grund: Man testet nur den einen Zwischenteil, da drumrum alles gegen funktionierend Testklassen ausgetauscht wurde. So lässt sich jeder Teil einzeln prüfen und man weiß genau wo der Fehler ist. Schaust du zum Test aber nur auf die Anzeige, dann kann der Fehler sonstwo sein. |
AW: Frage zu Propertys
Zitat:
Zitat:
Zitat:
Zitat:
|
AW: Frage zu Propertys
Zitat:
Deswegen kenn ich mich da nicht aus und frag vllt. dumm. Aber wenn ich statt mit Interfaces mit abstrakten Vorfahren-Klassen arbeite könnte ich doch dagegen testen? Und im Gegensatz zu Interfaces kann es in abstrakten Klassen ja Felder geben und dementsprechend direkt durchgreifende Properties Und wenn ein Nachfahre mal nicht direkt durchgreift, sondern getter und setter hat, merk ich das von aussen noch nicht mal. Aber wie gesagt, kenne Unit-Testing nicht und vermute mal, dass diese Frameworks dafür mit Interfaces arbeiten? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:01 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 by Thomas Breitkreuz