AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Unitnamen sinnvoll vergeben, aber wie?

Ein Thema von a.def · begonnen am 15. Apr 2017 · letzter Beitrag vom 15. Apr 2017
Antwort Antwort
a.def
(Gast)

n/a Beiträge
 
#1

Unitnamen sinnvoll vergeben, aber wie?

  Alt 15. Apr 2017, 16:21
Mein Projekt wird langsam immer größer. Es hat aktuell in etwa 80 eigene Units und Formulare.

Alle meine Formulare fangen mit frm an. Units mit immer und überall genutzten Funktionen und Prozeduren fangen mit _functions an, Threads fangen mit thread an.
Dann habe ich noch eine modifizierte TMemo- und TIni-Komponente. Beide Unitnamen fangen mit class an.
Units aus anderen Quellen, also nicht von mir, fangen mit u an.

Ich möchte da gerne etwas Ordnung reinbringen nur ich frage mich wie? Mein Benennungs-System am besten über Bord werfen oder nur anpassen?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Unitnamen sinnvoll vergeben, aber wie?

  Alt 15. Apr 2017, 16:39
Es gibt eigentlich kein vorgeschriebenes System.
Gut, viele nutzen erstmal U als Präfix, damit kann man Unit (UXyz), Klasse (TXyz) und, bei Forms/Modulen, die globale Variable (Xyz) gleich zu benennen.

Viele haben ein Frm, Form oder der Gleichen bei Formularen davor.
Ich persönlich mach sowas nicht mehr. Entweder im Unitnamen steckt nicht drin, dass es eine Form ist,
oder fasse es über einen Namespace zusammen, wenn es mehrere zusammengehörende Units gibt. (so ala abc.def.consts.pas, abc.def.utils.pas und abc.def.form.pas)

Bei Komponenten hab ich mir ein einen eigenen Namespace zugelegt
und eventuell noch einen Zweiten, wenn die Unit zu einer größeren Projektgruppe gehört.
Quasi wie das VCL.xxx.pas, FMX.xxx.pas und System.xxx.pas vom Delphi.
So kann ich dann meine Hilfsfunktionen auch einem ähnlichen Namensschema unterziehen. (Xyz.StrUtils.pas)
Damit das Präfix nicht zu lang wird, nutze ich allerdings ein Numeronym ala l10n=localization oder i18n=internationalization.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (15. Apr 2017 um 16:43 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.604 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Unitnamen sinnvoll vergeben, aber wie?

  Alt 15. Apr 2017, 20:59
Bei uns ist das sehr einfach:
Zunächst wird getrennt zwischen den Projekten.
  • Common.* --> Gemeinsame Units für mehrere Projekte (allgemeine Tools, ...)
  • Frontend.* --> Dateien unseres Frontends
  • Backend.* --> Dateien unseres Backends
Und dann wird nach Funktionalität unterschieden:
  • Common.Dialog.* --> Formulare
  • Common.Gui.* --> Oberflächenspezifische Units
  • Common.Hardware.* --> Units zur Hardwareunterstützung
  • Common.Interfaces.Core.* -->Interfaces zu Klassen in den Core-Units
  • Common.Interfaces.Gui.* --> Interfaces zu den Gui-Klassen
  • Common.Core.* --> Kernunits des Projekts
Und so weiter...

Die entsprechenden Punkte bezeichnen auch die Verzeichnisse (z.B. Repository\Common\Interfaces\Gui\Common.Interfaces .Gui.GuiElement.pas für das Interface IGuiElement). So lässt sich eine bestimmte Unit auch sofort auf der Festplatte finden.

Das Vorgehen hat auch den Vorteil, dass die Unit immer genauso wie die Klasse oder das Interface heißt. Ich kann also in der uses-Klausel z.B. ComIntGuiElem schreiben (nur zur Verdeutlichung mit Großbuchstaben) und die CnWizards werden mir die passende Unit Common.Interfaces.Gui.GuiElement vorschlagen.

Deshalb müssen wir nie lange suchen, das spart enorm Zeit.

Und ganz wichtig:
Nie unnötig abkürzen... das verringert nur die Lesbarkeit. Das gilt für Unitnamen wie für Variablen usw.
Schreibfaul sollte man beim Programmieren nicht sein, zumal die CnWizards da extrem viel Tipparbeit abnehmen... wenn man denn seine Bezeichner gut gewählt hat.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!

Geändert von jaenicke (15. Apr 2017 um 21:01 Uhr)
  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 09:36 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