![]() |
Wie haltet Ihr's mit Namensräumen?
Liste der Anhänge anzeigen (Anzahl: 1)
Nach nun bald einem Jahr Delphi habe ich eine Sache immer noch nicht einmal im Ansatz verstanden - Oder da ist nichts, was es zu verstehen gäbe.
Die Dokumentation spricht, wohl in Anlehnung an andere Sprachen, immer gerne von Namespaces. Die meisten kennen, als Beispiel, sicher die Units
Delphi-Quellcode:
und
System.Generics.Collections
Delphi-Quellcode:
.
System.Generics.Defaults
Bedeutet das, dass es einen Namensraum
Delphi-Quellcode:
gibt? Nein, da ist nichts. "Unit-Prefixe" wäre eher der richtige Name.
System.Generics
Ich kann einen sogenannten "Project Default Namespace" einführen indem ich meine dpr statt
Delphi-Quellcode:
mit
program meinProgramm;
Delphi-Quellcode:
beginne. Habe ich nun eine Unit
Günther.meinProjekt.meinProgramm
Delphi-Quellcode:
, kann ich diese beispielsweise in einer uses-Clause als
Günther.meinProjekt.ersteUnit
Delphi-Quellcode:
nennen, anstatt
ersteUnit
Delphi-Quellcode:
zu tippen. Das muss zwar noch jemand der Code Completion erzählen, aber gut.
Günther.meinProjekt.ersteUnit
Mein hauptsächlicher Weltschmerz: Der .pas-Dateiname muss immer dem Unit-Namen gleichen. Gleichzeitig zeigt das Fenster "Projektverwaltung" immer den vollen Dateinamen an. Das sieht dann so aus wie im Anhang. Muss ich nun immer alles in einen Topf werfen oder muss ich mir einen zusätzlichen Monitor anschaffen um das zwei Meter breite Fenster da unterzubringen? |
AW: Wie haltet Ihr's mit Namensräumen?
Wenn du Günther.meinProjekt in die Projektoptionen aufnimmst, dann kannst du in der Usesklausel gern nur noch das ersteUnit reinschreiben.
Bei den Generics ist das nur zufällig dreiteilig, da es schon zweiteilig war, als diese Units 2009 so aufgenommen hatte und erst viel später hatte man sich dann entschlossen die Namespaces für alle Units einzuführen, wobei die beiden Generic-Units quasi "ausversen" nochmal mit erweitert wurden. Ich hab aktuell auch angefangen Namespaces zu verwenden, allerdings bin ich da auch nur bei Zweiteilig geblieben. Zu sehr übertreiben wollte ich es nun auch nicht. Der eigentlich Vorteil ist aber, daß man über die Projektoptionen zwischen mehreren Versionen umschalten kann. Du schreibst nur Forms und kannst dann später entweder gegen die VCL oder gegen FMX verlinken. |
AW: Wie haltet Ihr's mit Namensräumen?
Also wir nutzen schon Unitnamen wie:
Common.Interfaces.Frontend.InputHandler.pas Allerdings nicht mit Namespaces, sondern in der Regel explizit mit dem Namen der Unit. Zitat:
Als Standardquelltextbreite sind bei uns 130 Zeichen konfiguriert, dementsprechend breit ist auch das Editorfenster. Da passen solche Unitnamen locker hin. ;-) Namespaces sind zwar schon nett, aber wenn es nicht einen Grund dafür gibt, wie gleichnamige Units mit unterschiedlichen Präfixen wie schon genannt, sehe ich keine Notwendigkeit dafür. Die fördern nur Mehrdeutigkeiten. Die Unitnamen mit Punkten und Gruppierung erlauben ja gerade ähnliche Funktionen in unterschiedlichen Gruppen gleich zu nennen am Ende ohne dass es Probleme damit gibt. |
AW: Wie haltet Ihr's mit Namensräumen?
Hi!
Also Das mit VCL.MeinForm und FMX.MeinForm leuchtet mir noch ein... Beim "Rest" sehe ich jedoch keinen Vorteil. Vielleicht noch ProjektA.Runtime und ProjektB.Runtime um innerhalb der Units keine IFDEF ProjektA zu haben, aber dann muss ich Änderungen immer in beiden Units machen... OK.. Zurück ich sehe keinen Vorteil...:stupid: Mavarik |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:07 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