在工作中,他们对命名空间的命名非常详尽(在我之前)。一个典型的命名空间可能是
CompanyName.SubCompanyName.DepartmentName.ProjectName.UniqueProjectName.ProjectName.FilteredProjectName
可悲的是,我不是在开玩笑。问题是,尽管对项目所在的位置有一定的了解,但它实在是太吵了。我想缩短它。
我想使用using
关键字(关于声明要使用哪些命名空间),然后使用等于符号来使用命名空间别名。现在问题变成了命名空间声明和类属性之间的歧义。例如
Project.Message
就目前而言,我们不知道 Project 是静态类的名称、命名空间还是已经初始化的对象的名称(尽管这个词this.
有助于澄清它)。
因此,在这样的背景下,我的问题是关于命名约定。对我来说,使用匈牙利风格的命名约定是有意义的(我知道这些天现在被认为已经过时了)所以我可以做类似的事情
使用 nsProject = CompanyName.SubCompanyName.DepartmentName.ProjectName.UniqueProjectName.ProjectName.FilteredProjectName
请注意,我在它前面加上了 ns(命名空间)。因此,如果代码看起来像以下任何一种,那么至少有一些清晰性:
this.Project.Message
nsProject.Message
Project.Message
上面的 3 个例子现在已经很清楚了:第一个已经在项目中声明,第二个是命名空间,第三个可能是静态方法调用。
有没有人对这种方法有任何意见?我是在重新发明轮子(是否已经制定了指导方针),还是有人对可以做什么有不同的看法?
编辑
想要使用 Alias 的另一个原因是当前命名空间与文件夹结构不匹配(或在某些地方没有任何意义)。因此,我不仅要确保明确使用的对象/命名空间类型,而且我的 Alias 还将作为文件夹位置的指南。我知道,这可能读作黑客等,但(根据这篇文章中的评论)这是许多人的第一阶段。