C#名称空间的命名约定

C#名称空间的命名约定,c#,namespaces,naming-conventions,C#,Namespaces,Naming Conventions,在工作中,他们对名称空间的命名已经非常详细(在我之前)。典型的名称空间可以是 CompanyName.SubCompanyName.DepartmentName.ProjectName.UniqueProjectName.ProjectName.FilteredProjectName 可悲的是,我不是在开玩笑。问题是,尽管对项目所在地有了一些明确的规定,但还是太吵了;我想缩短它 我想使用using关键字(关于声明要使用哪些名称空间),然后使用equals符号来使用名称空间别名。这个问题现在变成了

在工作中,他们对名称空间的命名已经非常详细(在我之前)。典型的名称空间可以是

CompanyName.SubCompanyName.DepartmentName.ProjectName.UniqueProjectName.ProjectName.FilteredProjectName

可悲的是,我不是在开玩笑。问题是,尽管对项目所在地有了一些明确的规定,但还是太吵了;我想缩短它

我想使用
using
关键字(关于声明要使用哪些名称空间),然后使用equals符号来使用名称空间别名。这个问题现在变成了名称空间声明和类属性之间的歧义。比如说

Project.Message
就目前而言,我们没有指明Project是静态类的名称、名称空间还是已经初始化的对象的名称(尽管单词
this.
将有助于澄清它)

因此,在这样的背景下,我的问题是关于命名约定。对我来说,使用匈牙利风格的命名惯例(我知道现在这种惯例被认为是相当过时的)是有意义的,这样我就可以

使用nsProject=CompanyName.SubCompanyName.DepartmentName.ProjectName.UniqueProjectName.ProjectName.FilteredProjectName

请注意,我在它前面加了ns(名称空间)。因此,如果代码看起来像以下任一项,则至少有一些清晰性:

this.Project.Message
nsProject.Message
Project.Message
上面的3个例子现在已经相当清楚了:第一个已经在项目中声明,第二个是名称空间,第三个可能是静态方法调用

是否有人对这种方法有任何评论;我是在重新发明轮子(是否已经有了指导方针)还是有人对可以做什么有不同的看法

编辑

希望使用Alias的另一个原因是当前名称空间与文件夹结构不匹配(或在某些地方没有任何意义)。因此,我不仅希望确保所使用的对象/名称空间类型之间的清晰性,而且我的别名也将作为文件夹位置的指南。我知道,这可能读作黑客攻击等,但(根据本文中的评论)这是许多攻击的第一阶段。

我不知道有任何“官方”指导方针,但每当我别名名称空间时,我通常使用公司和项目的缩略。这将导致(使用您的示例):


顺便说一句,我更喜欢匈牙利语以上的后期修复(主观上我知道)。

与其为名称空间结构笨拙的问题找到解决办法,不如直接解决这个问题?为什么你需要别名呢?(为什么不只是使用指令来“正常”呢?)嗯,听起来你好像有多个问题——我再次敦促你尝试从源头上解决问题,而不仅仅是解决症状。@DaveRook你不能使用语法突出显示来解决这个问题吗?默认情况下,Visual Studio对属性和名称空间使用黑色,对类使用青色(不确定颜色名称)。对于别名,我建议“使用ProjectNamespace=etc”,而不是匈牙利符号,这更符合Microsoft命名约定。但这应该被视为一个短期的解决办法。那些使用名称空间如“CompanyName.SubCompanyName.DepartmentName…”的人通常会在每次重组时非常后悔。我同意,如果没有指导原则,这篇文章会得到主观的答案——我感觉没有指导原则,这完全取决于团队!谢谢你抽出时间。
this.Project.Message.Send();
CompanyProject.Message.Send();
Project.Message.Send();