I'm tasked with choosing a name that will in effect be the internal name of our architecture. I'm taking this responsibility seriously, as I have worked with a lot of "bad" namespaces and don't want to inflict one on others.
What makes a "bad" namespace to me?
In terms of human factors:
- An acronym that is essentially meaningless:
DDL
,MOS
, etc - A namespace that collides with a common one from another vendor, like
Office
orText
orIO
- A namespace that's difficult to spell or pronounce for non-native English speakers because it's either a foreign word or a proper noun:
Vancouver
and so on.
I feel comfortable choosing a namespace in terms of descriptive ability and mnemonic. I'm wondering what the technical consequences of namespace names can be. For instance, what problems might arise from the namespace _
, which is a legal C# namespace name? What about a single letter, like e
? Are there namespaces that give CodeDom or Reflector fits? Do some namespaces that are legal in C# cause problems in other .Net languages? Is it possible to choose a namespace that is not Mono-compliant for some reason? Have you worked with a namespace that made your life difficult for reasons involving the compiler or Visual Studio or the Windows (or Linux) filesystem?
Thanks for reading and thanks in advance for any help!