通过创建文件夹并嵌套文件夹或使用点创建文件夹名称来创建名称空间?

时间:2014-11-06 11:46:58

标签: c# asp.net namespaces

这个问题可能听起来很奇怪,但在我创建一个新项目时,它才刚刚出现在我的脑海中。

在Visual Studio中,我可以创建一个名称空间层次结构,如下所示嵌套文件夹,或者我可以创建带有点的单个文件夹,例如CompanyName.Common和CompanyName.Common.Util

从长远来看,对于大型项目,哪一个更有意义?或者它会比另一个更好吗?

第二个问题是,它有多深,或者是否存在7-8个嵌套命名空间的性能影响?

enter image description here

2 个答案:

答案 0 :(得分:2)

您的命名空间名称和项目文件夹结构是两个不同的东西。

它们似乎是相关的,因为Visual Studio会为您创建一个默认的命名空间名称,每次创建一个新文件夹并开始在其中创建类,基于文件夹的名称以及它嵌套在其中的其他文件夹的。

但是,您可以将这些命名空间重命名为您想要的任何名称空间。例如,您在" CompanyName.Common"中创建的第一个类;将被赋予命名空间" TestPro.CompanyName.Common",但您可以将其重命名为" MyNewNameSpace"如果你愿意的话。

  

从长远来看,对于大型项目,哪一个更有意义?或者它会比另一个更好吗?

最后,您的文件夹结构只是对您最有意义的事情,并帮助您保持井井有条。如果您喜欢一次看到所有内容,请将其展平,然后使用带有点的文件夹。就个人而言,我更喜欢嵌套文件夹,但它真的取决于你。

  

对于它有多深,或者是否存在7-8嵌套命名空间的性能影响,是否存在任何限制?

就个人而言,我还没有理由将3到4个文件夹嵌入深层。无论您选择哪种方式,在遇到Visual Studio性能问题之前,您都更有可能遇到windows limitation of 260 characters(除非您用单个字母或其他异常命名文件夹):

  

在Windows API中(以下段落中讨论了一些例外),路径的最大长度为MAX_PATH,定义为260个字符。

事实上,它并不难打(我的文件夹名称在这里很荒谬,但我提出了一点意见;)

enter image description here

答案 1 :(得分:0)

根据我的经验,我工作的每个工业项目都有一个清晰的嵌套文件夹层次结构。看起来微软还建议我快速查看链接中的嵌套文件夹。

示例:http://msdn.microsoft.com/en-us/library/bb668954.aspx