2010-01-14 2 views
8

Ich betreibe Code-Analyse an einem Projekt und ich bekomme eine WarnungWas sind die Folgen von (zu) vielen Namespaces?

CA1020 sagen: Microsoft.Design: Betrachten Sie die Typen definiert in {einige Namensraum} mit einem anderen Namespace verschmelzen. {einige Namensräume}

Warum bekomme ich das? Gibt es eine negative Auswirkung von zu vielen Namespaces?

+0

Mein Problem mit dieser Warnung ist, dass die Codeanalyse nicht berücksichtigt, dass ich 20 andere Visual Studio-Lösungen habe, die auch Klassen in demselben Namespace erstellen. Für mich ist es normalerweise ein "falsch positives" und ich habe es einfach bei meinem benutzerdefinierten Regelsatz unterdrückt. – RenniePet

Antwort

12

Ich glaube, der Hauptgrund ist die Auffindbarkeit und glauben, dass spielt eine große Rolle bei der erfolgreichen Unterstützung und Wartung Ihres Codes. Wenn es einfacher ist, es zu entdecken, sollte einfacher zu pflegen sein.

Hier ist ein Zitat aus MSDN.

Namespaces sollten Typen enthalten, die zusammen in den meisten Szenarien verwendet werden. Wenn sich ihre Anwendungen gegenseitig ausschließen, sollten sich Typen in separaten Namespaces befinden. Sorgfältiger Namensraum Organisation kann auch hilfreich sein , weil es die Auffindbarkeit einer Funktion erhöht. Durch die Namespace-Hierarchie untersuchen sollte Bibliothek Verbraucher suchen Sie die Typen der Lage sein, die eine Feature

+0

+1 für den guten Rat zitiert. –

1

Es gibt keine wirklichen negativen Auswirkungen zur Laufzeit implementieren, in Bezug auf die erhöhte Speicher oder Ausführungszeiten. Namespaces sind auch nicht wie IP-Adressen, die einen festen Pool haben und schließlich auslaufen können.

Namespaces sind im Grunde eine Namenskonvention, die Ihnen hilft, verwandte Dinge zu gruppieren. Der CA-Fehler weist darauf hin, dass zu viele kleine Namespaces Ihren Code für andere Benutzer schwieriger machen.