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 ?
Thema durchsuchen
Ansicht
Themen-Optionen

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.174 Beiträge
 
Delphi 12 Athens
 
#1

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

  Alt 25. Mai 2023, 09:16
Delphi-Version: 5
Hallo zusammen,

ich stolpere gerade über einen Konflikt bei den IsEmpty Routinen, welche so definiert sind:

Delphi-Quellcode:
class function TRectF.Empty: TRectF;
begin
  Result := TRectF.Create(0,0,0,0);
end;

function TRectF.IsEmpty: Boolean;
begin
  Result := (Right <= Left) or (Bottom <= Top);
end;
Das Problem ist, dass ich TRectF als Speicher für separate Left,Top,Right,Bottom benutze, welche nicht unbedingt ein Rechteck aufspannen.
Also könnte RectF( 0, 0, 0, 50 ) sein, somit die Fläche IsEmpty: JA, aber die Variable IsEmpty: NEIN ( aus meiner Sicht ).

Als Argument dafür sehe ich, dass es die Funktion TRectF.Empty gibt, welche (0,0,0,0) definiert, also würde ich IsEmpty für (0,0,0,0) erwarten.

Für meinen angedachten Fall würde ich die Funktion IsZero vorsehen,
in ähnlicher Weise wie dies bei TPointF und Anderen vorhanden ist, bei TRectF aber nicht:

Delphi-Quellcode:
function TRectF_Helper.IsZero : Boolean;
begin
    Result := SameValue(Left, 0.0) and SameValue(Top, 0.0) and SameValue(Right, 0.0) and SameValue(Bottom, 0.0);
end;

Wie seht Ihr das, ist Empty / IsEmpty vielleicht ein gar nicht so präziser Name wie ich immer dachte ?
Oder sollte die Funktion IsEmpty vielleicht sogar ein Ergebnis ergänzt um IsZero zurückgeben ?

Vielleicht sollten die Funktionen auch einfach nur anders heißen, um präzise zu sein, wie EmptySpace und IsEmptySpace ?

Bin ich jetzt einfach nur zu pedantisch, oder gibt es ein gutes Argument für IsEmpty ?
Immerhin sagt "TRectF" ja implizit aus, dass es um die Fläche von Rechtecken geht.

Keine Angst, ich will hier keinen Feature-Request starten, ich möchte nur wissen, wie man den Unterschied Empty/Zero am besten im Namen oder Funktionsweise beschreiben würde
Immerhin benutze ich TRectF ja als Speicher für nicht-Flächen, somit etwas außerhalb der Spezifikationen ...
  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 11:58 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