Como escolher um bom nome de namespace? (Linguísticamente)

5

Inglês não é minha língua nativa, portanto, é um pouco mais difícil escolher um bom nome para um namespace. Um exemplo para você ver meu problema um pouco melhor:

Temos um conjunto de classes que tem a ver com a maneira como uma empresa é organizada (podemos criar organogramas com ela). Atualmente, o namespace é CFW.CoreSystem.Organizational . Esse é um bom nome?

O que é linguisticamente a melhor maneira de nomear um namespace? ( CFW.CoreSystem.Configuration é melhor que CFW.CoreSystem.Configurables ).

[Movido de StackOverflow]

    
por Kees C. Bakker 26.11.2011 / 14:08
fonte

1 resposta

9

The name chosen for a namespace should indicate the functionality made available by types in the namespace. For example, the System.Net.Sockets namespace contains types that enable developers to use sockets to communicate over networks.

O formato geral de um nome de namespace é o seguinte:

<Company>.(<Product>|<Technology>)[.<Feature>][.<Subnamespace>]

Por exemplo, Microsoft.WindowsMobile.DirectX.

Use maiúsculas e minúsculas Pascal e separe componentes de espaço para nome com pontos (por exemplo, Microsoft.Office.PowerPoint). Se a sua marca utiliza invólucros não tradicionais, você deve seguir o invólucro definido pela sua marca, mesmo que ela se desvie do invólucro normal do namespace.

Considere usar nomes de espaço de nomes no plural quando apropriado. Por exemplo, use System.Collections em vez de System.Collection. No entanto, as marcas e acrônimos são exceções a essa regra. Por exemplo, use System.IO em vez de System.IOs.

Não use o mesmo nome para um namespace e um tipo nesse namespace. Por exemplo, não use Debug para um nome de namespace e também forneça uma classe chamada Debug no mesmo namespace. Vários compiladores exigem que esses tipos sejam totalmente qualificados.

Há muitos detalhes sobre o Do ou o Do'n'n no MSDN sobre Nomenclatura de namespace, Assemblies etc. Verifique isso para Espaços de nomes

CFW.CoreSystem.Configuration é melhor.

The Namespace CFW.CoreSystem.Organizational is pretty good but CFW.CoreSystem.Organization is much better to write.

    
por 26.11.2011 / 14:43
fonte