AGB  ·  Datenschutz  ·  Impressum  







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

Namespaces vernünftig zuordnen?

Ein Thema von Jürgen Thomas · begonnen am 20. Jul 2006 · letzter Beitrag vom 20. Jul 2006
Antwort Antwort
Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#1

Namespaces vernünftig zuordnen?

  Alt 20. Jul 2006, 19:04
Hallo,

ich habe verschiedene kleinere Erweiterungen für NET-Basisklassen geschrieben und diese (mit schlechtem Gewissen) den NET-Standard-Namespaces zugeordnet, z.B.:
Code:
namespace System {
    /// <summary>
    /// Zusammenfassende Beschreibung für MathEx.
    /// Methoden aus System.Math werden ergänzt:
    /// **  Min( int[] varArray )
    /// **  Max( int[] varArray )
    /// **  analog für byte, decimal, double, short, long, float
    /// </summary>
    public class MathEx   {
        //  Max und Min für int[]
   static public int Max(int[] varArray) {
       int Result;
       if (varArray.Length == 0)
      Result = System.Int32.MaxValue;
       else {
      Result = varArray[0];
      for (int x1 = 1; x1 < varArray.Length; x1++) {
          if (varArray[x1] > Result)   Result = varArray[x1];
      }
       }
       return Result;
   }
    }
}
Analog habe ich Controls, die Erweiterungen von Standard-Controls sind, eingebunden in den Namespace System.Windows.Forms mit einer Klasse ControlsEx.

Für dieses Verfahren bin ich an anderer Stelle bereits kritisiert worden:
Zitat von Khabarakh:
Zu den Standard-Namespaces würde ich übrigens nichts noch hinzufügen, schafft imho nur Chaos.
Mich würden Argumente anderer Entwickler interessieren, nach welchen Regeln man die Namespaces für solche Erweiterungen zuordnen sollte.

Jürgen
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#2

Re: Namespaces vernünftig zuordnen?

  Alt 20. Jul 2006, 19:32
Ich hatte zwar erst zweimal das Vergnügen, mir einen Namespace ausdenken zu dürfen, aber jedenfalls habe ich es so gehandhabt:
Root-Namespace = Dein Name/Nick/Sonstwas bzw. der Name deiner Firma + der Name deines Projektes,
beispielsweise
Code:
Kha.GenPar
oder
Code:
ICSharpCode.SharpDevelop
Diesen Rootnamespace kannst du nun in weitere Namespaces unterteilen, falls sie zu groß werden und der User nur eine bestimmte Teilmenge der Typen brauchen könnte.
Beispiel:
Code:
Kha.GenPar.Infix
Kha.GenPar.UPN // ok, den gibts gar nicht, aber auch egal ^^
Elementare Typen wie zum Beispiel deine MathEx-Klasse würde ich entweder in deinen Namens-Namespace ( :mgrgreen: ) oder einen "Core"-Namespace werfen. Da habe ich mich noch nicht ganz entschieden .

Nur übertreiben sollte man es mit dem Aufteilen nicht. FxCop moniert sich beispielsweise über Namespaces mit weniger als 6 Typen.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#3

Re: Namespaces vernünftig zuordnen?

  Alt 20. Jul 2006, 21:21
Ich richte mich nach den Vorgaben von SharpDevelop.

1. #d fragt mich nach dem Namen des Tools und benennt so auch den Namespace.
2. Ich erzeuge Unterordner "bla" mit neuer Klasse, daraus wird "<namespace>.bla"
3. Ich gucke, was FxCop dazu sagt und führe Namespaces mit Klassen < 5 zusammen.
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#4

Re: Namespaces vernünftig zuordnen?

  Alt 20. Jul 2006, 22:13
Zitat von MathiasSimmack:
2. Ich erzeuge Unterordner "bla" mit neuer Klasse, daraus wird "<namespace>.bla"
Leider habe ich oft viel mehr Ordner, als ich Namespaces bräuchte, also vergebe ich letztere doch lieber selbst .

PS: Cool wäre eine Option, bei Ordnern den Rootnamespace zu ändern oder sie aus der Namespace-Generierung ausschließen zu können ... Vielleicht finde ich dazu mal Zeit .
Sebastian
Moderator in der EE
  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 04:59 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