AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Unpräzise Namensgebung bei TRectF.Empty und TRectF.IsEmpty ?

Unpräzise Namensgebung bei TRectF.Empty und TRectF.IsEmpty ?

Ein Thema von Rollo62 · begonnen am 25. Mai 2023 · letzter Beitrag vom 26. Mai 2023
 
Rollo62

Registriert seit: 15. Mär 2007
4.185 Beiträge
 
Delphi 12 Athens
 
#3

AW: Unpräzise Namensgebung bei TRectF.Empty und TRectF.IsEmpty ?

  Alt 25. Mai 2023, 10:04
Genau das ist doch der Punkt. Ist die Fläche leer? Ja. Gibt TRectF.Empty() eine leere Fläche zurück? Ja. Mit dem Code ist alles in Ordnung und die Namen passen auch.
Ja, das sehe ich auch so, allerdings sagt IsEmpty möglicherweise nicht deutlich genug, dass es NUR um die Fläche geht und nichts anderes, zumal Empty = (0,0,0,0) setzt.
Diesen Konflikt meine ich, speziell (0,0,0,0) deutet darauf hin, dass auch das IsZero gemeint sein könnte.

Zweckentfremdest du TRectF für etwas anderes? Ja.
Genau, ich speichere dort die Insets, das sind mehr oder weniger Margins, weil das von anderen Libraries dafür genommen wird.
Im Prinzip finde ich das TRectF dafür in Ordnung, wegen Left / Top / Right / Bottom, obwohl es natürlich besser ein TMargins sein sollte.

Mach dir doch deine eigene Struktur und benenne die Felder innen drin auch für das, was sie ausdrücken. Deinen bestehenden Code musst du auch nicht umschreiben, du kannst
deiner eigenen Struktur doch eine Operator-Überladung verpassen, mit welcher sie implizit in ein TRectF konvertiert wird.
Danke für die Vorschläge, meine Lösung ist es einen TRectF-Helper mit Zero / IsZero für das RectF anzulegen.
Damit komme ich klar.
Nach meiner Definition ist: Zero - es geht um 0,0,0,0 und Empty - es geht um Fläche.

Mir ging es mehr um die Konflikte mit der Namensgebung.
Würdest Du im oben genannten Fall auf z.B. TMargins (ist aber eine Klasse meines Wissens) oder noch besser ein TInsets Record umsteigen,
selbst wenn es auf TRectF ausgelegt ist ?

In diesem Fall kommt das aus einer externen Library, aber ich selber missbrauche auch gerne die Delphi Basic-Typen für solche naheliegende Fälle.

Das ist meine Frage: "Missbraucht" Ihr solche Basistypen (TRect, TPoint, TSize, ...) auch manchmal, oder seid ihr IMMER strikt Namenskonform ?

Das richtige Festlegen von Namen ist manchmal eine Qual

Geändert von Rollo62 (25. Mai 2023 um 10:07 Uhr)
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 16:06 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