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
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.201 Beiträge
 
Delphi 12 Athens
 
#1

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

  Alt 25. Mai 2023, 11:16
implizites Type-Casting : https://docwiki.embarcadero.com/RADS...toren_(Delphi)
VariableMitInternemTyp := VariableMitExternemTyp;

oder via Record-Helper ein passenderes "IstLeer" hinzufügen

oder kapseln
Delphi-Quellcode:
type
  TMyRecord = record
  {private}
    Intern: TRect;
    function GetWidth: Integer;
    procedure SetWidth(Value : Integer);
    ...
  {public}
    property Top: Integer read Intern.Top write Intern.Top;
    property Left: Integer read Intern.Left write Intern.Left;
    property Width: Integer read GetWidth write SetWidth;
    property Height: Integer read GetHeight write SetHeight;
  end;



Was ist "Extern"?
Wenn es eine DLL ist, dann verbietet dir niemand intern einen anderen/eigenen Typen zu benutzen (so lange er von den Daten/Feldern her identisch/kompatibel ist)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (25. Mai 2023 um 11:26 Uhr)
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.932 Beiträge
 
Delphi 12 Athens
 
#2

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

  Alt 25. Mai 2023, 12:14
oder via Record-Helper ein passenderes "IstLeer" hinzufügen
Dankesehr, wie gesagt das mache ich mit einem Record-Helper als "IsZero"

Mir ging es eher um die Frage inwieweit man solche Basistypen "missbrauchen" sollte und ob, wann und wo Ihr das auch mal macht.

Der Wrapper, den Du vorschlägst, wäre ja für diesem Fall der Worst-Case, aus meiner Sicht, nur um L,T,R,B zu kapseln ( dann doppelt gekapselt ).
Viel Overhead bei Null Nutzen.

Ich nutze schonmal gerne die Basictypen TRect, TRectF, TPoint, TPointF, TSize, ... um ähnliche Dinge zu kapseln.

Bisher war mit der Unterschied IsEmpty und IsZero nicht so bewusst geworden.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.201 Beiträge
 
Delphi 12 Athens
 
#3

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

  Alt 25. Mai 2023, 12:18
Wenn möglich verwende ich vorzugsweise Typen der StandardUnits des Delphi.
(von Typen aus mitgelieferten Units, ala INDY, nehme ich aber zunehmend Abstand)

Auch wenn es um neuere Typen geht, in Codes/Komponenten auch für ältere Delphis,
da dann natürlich mit Fallback. https://www.delphipraxis.net/213082-...ml#post1522679
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (25. Mai 2023 um 12:27 Uhr)
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.932 Beiträge
 
Delphi 12 Athens
 
#4

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

  Alt 25. Mai 2023, 12:20
Genau das meine ich.
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

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

  Alt 25. Mai 2023, 12:20
oder via Record-Helper ein passenderes "IstLeer" hinzufügen
Mir ging es eher um die Frage inwieweit man solche Basistypen "missbrauchen" sollte und ob, wann und wo Ihr das auch mal macht.
Ich denke himitsu und ich waren da relativ eindeutig, aber da du deine Lösung immer noch stark verteidigst weiß ich nicht was noch groß dazu gesagt werden soll.
Es sei denn du wartest noch auf jemanden der dir Recht gibt
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.932 Beiträge
 
Delphi 12 Athens
 
#6

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

  Alt 26. Mai 2023, 14:56
[QUOTE=Neutral General;1522796]
oder via Record-Helper ein passenderes "IstLeer" hinzufügen
Ich denke himitsu und ich waren da relativ eindeutig, aber da du deine Lösung immer noch stark verteidigst weiß ich nicht was noch groß dazu gesagt werden soll.
Es sei denn du wartest noch auf jemanden der dir Recht gibt
Seltsam, seltsam.
Entweder will man mich bewusst falsch verstehen, oder man liest sich die Antworten nicht richtig durch

Ich hatte die Lösung von himitsu übernommen, und zwar schon BEVOR er dankenswerterweise diese vorgeschlagen hatte.
Meine Überlegungen und Gründe dafür hatte ich auch gleich dazugeschrieben, damit ist die Sache für mich erledigt, wenn ansonsten keiner darauf eingehen will.

Das ist aber alles kein Grund, direkt wieder in den Angriffsmodus zu wechseln
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.385 Beiträge
 
Delphi 11 Alexandria
 
#7

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

  Alt 25. Mai 2023, 14:06
[QUOTE=Rollo62;1522792]
Mir ging es eher um die Frage inwieweit man solche Basistypen "missbrauchen" sollte...
Ganz einfach: Nie
Missbrauch ist missbrauch - selbst dann wenn man es in Anführungszeichen schreibt.
  Mit Zitat antworten Zitat
Antwort Antwort


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 12:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz