在工作中,他们对命名空间的命名非常精细(在我的时间之前).典型的命名空间可以是
CompanyName.SubCompanyName.DepartmentName.ProjectName.UniqueProjectName.ProjectName.FilteredProjectName
可悲的是,我不是在开玩笑.问题是,尽管对项目所处的位置有一些清晰的认识,但它却是如此嘈杂;我想缩短它.
我想使用using关键字(关于声明要使用哪些命名空间),然后使用等号来使用命名空间别名.现在问题变成了名称空间声明和类属性之间的歧义.例如
Project.Message
如上所述,我们没有任何迹象表明Project是静态类的名称,命名空间还是已经初始化的对象的名称(尽管这个词有助于澄清它).
因此,在此背景下,我的问题是关于命名约定.对我来说,使用匈牙利风格的命名约定是有意义的(我知道这些日子现在被认为已经过时了)所以我可以做类似的事情
using nsProject = CompanyName.SubCompanyName.DepartmentName.ProjectName.UniqueProjectName.ProjectName.FilteredProjectName
请注意,我用ns(名称空间)作为前缀.因此,如果代码看起来像下面之一,至少有一些清晰度:
this.Project.Message
nsProject.Message
Project.Message
上面的3个例子现在相当清楚:第一个已在项目中声明,第二个是命名空间,第三个可能是静态方法调用.
有没有人对这种方法有任何意见;我是否正在重新发明轮子(已经有指导原则)或者是否有人对可以做什么有不同的看法?
编辑
想要使用Alias的另一个原因是当前命名空间与文件夹结构不匹配(或在某些地方有任何意义).因此,我不仅要确保使用何种类型的对象/命名空间之间的清晰度,而且我的Alias也将成为文件夹位置的指南.我知道,这可能看起来像黑客等,但(根据这篇文章中的评论)它是许多人的第一阶段.
最佳答案 我不知道任何“官方”指南,但每当我使用命名空间时,我通常会使用公司和项目的收缩.这将导致(使用您的示例):
this.Project.Message.Send();
CompanyProject.Message.Send();
Project.Message.Send();
我更喜欢在匈牙利语btw之上进行后缀(主观我知道).