conventions de nommage des espaces de noms
Pour ceux d'entre vous qui écrivent des composants réutilisables, que considérez-vous comme la meilleure pratique si vous étendez les fonctionnalités du. Net framework?
Par exemple, je crée une bibliothèque Pop3 en ce moment car elle n'existe pas dans .NET. est-ce que je crée un espace de noms personnalisé ou est-ce que j'utilise System.Net.Mail
?
2 réponses
À partir des directives de nommage de l'espace de noms :
La règle générale pour nommer les espaces de noms est d'utiliser le nom de l'entreprise suivi de le nom de la technologie et éventuellement le caractéristique et conception comme suit. Copie Code
CompanyName.TechnologyName[.Feature][.Design]
Généralement, c'est une très mauvaise pratique de commencer à inclure des choses dans l'espace de noms par défaut d'un framework ou d'une bibliothèque. Cela peut causer de la confusion en termes de savoir si un nouvel espace de noms fait partie de la bibliothèque existante qui est fait partie d'un framework distribué à tout le monde ou fait partie d'un framework personnalisé ajouté par quelqu'un d'autre.
En outre, la convention de nommage essaie d'éviter les collisions d'espaces de noms en ayant des identifiants uniques tels que CompanyName
. Il réduit également toute confusion et les problèmes en termes de source de la nouvelle bibliothèque.
Ce N'est pas seulement une chose Microsoft, mais aussi dans Java. Les espaces de noms en Java, appelés "packages", ont la convention suivante :
Le le préfixe d'un nom de paquet unique est toujours écrit en tout-minuscule ASCII lettres et devrait être l'un des noms de domaine de premier niveau, actuellement com, edu, gov, mil, net, org, ou l'un des Codes Anglais à deux lettres identifiant pays comme spécifié dans la norme ISO 3166, 1981.
Composants suivants du colis nom de varier en fonction de l' dénomination interne de l'organisation Convention. De telles conventions pourraient spécifiez ce nom de répertoire des composants de division, département, noms de projet, de machine ou de connexion.
Donc, si j'avais un logiciel super génial, il pourrait être dans le paquet net.coobird.superawesomesoftware
.
Et en utilisant les noms de paquets qui contiennent java.
, javax.
, com.sun.
les paquets sont un grand non-non.
Jetez également un oeil à l'article MSDN suivant pour des directives sur la dénomination des espaces de noms
Le nom choisi pour un espace de noms doit indiquer la fonctionnalité disponibles par types dans l'espace de noms. Par exemple, l' System.Net. Sockets namespace contient des types qui permettent aux développeurs de utilisez les sockets pour communiquer sur les réseaux.
Le format général d'un nom d'espace de noms est comme suit:
<Company>.(<Product>|<Technology>)[.<Feature>][.<Subnamespace>]
Par exemple
Microsoft.WindowsMobile.DirectX
.