2010-01-14 5 views
8

Je cours l'analyse de code sur un projet et je reçois un avertissement disantQuelles sont les conséquences de (trop) nombreux espaces de noms?

CA1020: Microsoft.Design: envisager la fusion des types définis dans {} un nom d'espace avec un autre espace de noms. {some namespace}

Pourquoi est-ce que je l'obtiens? Y a-t-il une implication négative d'avoir trop d'espaces de noms?

+0

Mon problème avec cet avertissement est que l'analyse de code ne prend pas en compte le fait que j'ai 20 autres solutions Visual Studio qui créent également des classes dans le même espace de noms. Donc, pour moi, c'est généralement un "faux positif", et je l'ai simplement supprimé dans mon ensemble de règles personnalisées. – RenniePet

Répondre

12

Je crois que la raison principale est la découvrabilité et je crois que cela joue un grand rôle dans le support et la maintenance de votre code. Si c'est plus facile à découvrir devrait être plus facile à entretenir.

Voici la citation de MSDN.

Namespaces doit contenir types utilisés dans la plupart des scénarios. Lorsque leurs applications s'excluent mutuellement, les types doivent être situés dans des espaces de noms distincts . L'espace de noms prudent organisation peut également être utile car il augmente la découvrabilité d'une fonctionnalité. En examinant la hiérarchie des espaces de noms, consommateurs bibliothèque devraient être en mesure de localiser les types qui mettent en œuvre une fonction

+0

+1 pour avoir cité les bons conseils. –

1

Il n'y a pas d'incidence réelle négative lors de l'exécution, en termes de mémoire accrue ou des temps d'exécution. En outre, les espaces de noms ne sont pas comme les adresses IP, qui ont un pool fixe et peuvent éventuellement manquer.

Les espaces de noms sont fondamentalement une convention de nommage pour vous aider à regrouper des choses connexes. L'erreur CA suggère que trop de petits espaces de noms peuvent rendre votre code plus difficile à utiliser pour d'autres personnes.

Questions connexes