convenciones de nombres de espacios de nombre

Para aquellos de ustedes que escriben componentes reutilizables, ¿cuál considera que es la mejor práctica si amplían la funcionalidad de .NET Framework?

Por ejemplo, estoy creando una biblioteca Pop3 en este momento, ya que no existe en .NET. ¿Creo un espacio de nombres personalizado o uso System.Net.Mail ?

De las Pautas de nombres de espacios de nombres :

La regla general para nombrar espacios de nombres es usar el nombre de la compañía seguido del nombre de la tecnología y opcionalmente la característica y el diseño de la siguiente manera. Copiar código

CompanyName.TechnologyName[.Feature][.Design]

En general, es una muy mala práctica comenzar a incluir cosas en el espacio de nombres predeterminado de un marco o biblioteca. Esto puede causar confusión en términos de si un nuevo espacio de nombres es parte de la biblioteca existente que es parte de un marco que se distribuye a todos, o es parte de un marco personalizado que fue agregado por otra persona.

Además, la convención de nomenclatura intenta evitar las colisiones del espacio de nombres al tener identificadores únicos como CompanyName . También reduce cualquier confusión y problemas en términos de la fuente de la nueva biblioteca.

Esto no es solo algo de Microsoft, sino también de Java. Los espacios de nombres en Java, llamados “paquetes” tienen la siguiente convención :

El prefijo de un nombre único de paquete siempre está escrito en letras ASCII en minúsculas y debe ser uno de los nombres de dominio de nivel superior, actualmente com, edu, gov, mil, net, org o uno de los códigos ingleses de dos letras. identificando países como se especifica en la Norma ISO 3166, 1981.

Los componentes posteriores del nombre del paquete varían de acuerdo con las convenciones internas de nombres de la organización. Tales convenciones pueden especificar que ciertos componentes del nombre de directorio sean nombres de división, departamento, proyecto, máquina o inicio de sesión.

Entonces, si tuviera una pieza de software increíble, podría estar en el paquete net.coobird.superawesomesoftware .

Y usando nombres de paquetes que contienen el java. predeterminado java. javax. , com.sun. los paquetes son un gran no-no.

También eche un vistazo al siguiente artículo de MSDN para obtener pautas sobre cómo asignar nombres a los espacios de nombres.

Nombres de espacios de nombres

El nombre elegido para un espacio de nombres debe indicar la funcionalidad disponible por tipos en el espacio de nombres. Por ejemplo, el espacio de nombres System.Net.Sockets contiene tipos que permiten a los desarrolladores utilizar sockets para comunicarse a través de redes.

El formato general para un nombre de espacio de nombres es el siguiente:

.(|)[.][.]

Por ejemplo, Microsoft.WindowsMobile.DirectX .