Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Delphi-News aus aller Welt (https://www.delphipraxis.net/58-delphi-news-aus-aller-welt/)
-   -   Delphi Tip of the Day: Use Your Own Unique Prefix for Types and Constants (https://www.delphipraxis.net/214298-delphi-tip-day-use-your-own-unique-prefix-types-constants.html)

DP News-Robot 20. Dez 2023 11:30

Delphi Tip of the Day: Use Your Own Unique Prefix for Types and Constants
 
I'm in the process of converting an old Delphi 5 VCL application to Delphi 11 FMX. Yeah, I have Delphi 12 but I'm waiting for the first bug release before I start using it. Well, this morning I learned a valuable lesson. A lesson which stopped me dead in my tracks.

There's nothing stopping you from creating an already existing type!


I was making some refactoring changes to my code. I didn't realize I was about to make a huge mistake. I went plodding ahead pleased with the progress I was making and admiring the beautiful, refactored code I was creating. When boom... I renamed a type that stepped on a type already inside the System.UITypes unit.

There's nothing to stop you from creating an already existing type. Of course I didn't use the preview changes function. I just hit go!

I had defined my own enumerated type called TMyImageIndex. I decided to just simply call it TImageIndex. So, that's what I did using Refactor > Rename type TMyImageIndex CTRL+SHIFT+E

I knew I messed up when I saw way too much code show up in the results panel.

How dare Embarcadero define a type called TImageIndex


WTF. If it already existed the IDE should have prevented me or at least warned me. How dare Embarcadero define a type called TImageIndex.

type //TImageIndex = (iiAdd = 2, iiUpdate = 3);) TZwImageIndex = (iiAdd = 2, iiUpdate = 3);) const ZW_WIDTH_COLUMN_GLYPH = 20; ZW_WIDTH_COLUMN_DATE = 90; ZW_WIDTH_COLUMN_AMOUNT = 74 It took me about 30 minutes, but I was able to get the original code back in place, And working.

So going forward I have created my own unique prefix of TZw (Zw = ZilchWorks). Going forward I will preface all Types and Constants.

Enjoy!
Semper Fi
Gunny Mike
https://zilchworks.com



Weiterlesen...


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:31 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