我有这样的:我的Visual Studio项目中的目录结构的最佳做法是什么?
解决方案名称:Foo.sln
大会: Foo.Bar
命名空间是:
Foo.Bar.Views
Foo.Bar.Model
Foo.Bar.BusinessObjects
Foo.Bar.Services
目录结构应该是这样吗?
__Foo/Foo.Bar/Foo.Bar.View__ or __Foo/Bar/View__
我有这样的:我的Visual Studio项目中的目录结构的最佳做法是什么?
解决方案名称:Foo.sln
大会: Foo.Bar
命名空间是:
Foo.Bar.Views
Foo.Bar.Model
Foo.Bar.BusinessObjects
Foo.Bar.Services
目录结构应该是这样吗?
__Foo/Foo.Bar/Foo.Bar.View__ or __Foo/Bar/View__
如果您保留“自动命名空间”的Visual Studio选项,您将需要Foo/Bar/Views。由于这是Visual Studio的默认行为,因此人们会最习惯于此。另外,它使您的文件夹名称/路径变得过长。
那么,它可以是任何你想要的。要么是有效的,但前者可能会有点多余,并导致目录层次结构,这对眼睛/禁止有点困难。
Foo/Bar/View似乎很自然。此外,MSVS倾向于将解决方案文件夹映射到名称空间(即,如果将Abc文件夹添加到您的解决方案中,您添加到此文件夹的每个类将位于root_namespace.Abc名称空间中)。
这完全是个人偏好。我会选择后者。
问自己问题:“我是否通过在子文件夹中重复Foo和Bar来添加任何有用信息?”在我看来,答案是否定的,仅仅是因为信息是多余的。你也创造了一个维护问题;如果你需要重新命名酒吧你现在必须重命名Foo.Bar,Foo.Bar.View,Foo.Bar.Model ...
美孚/酒吧/视图似乎是一个更好的选择,更多如果单个文件被命名为各个类型(例如Foo.Bar.View.IView => Foo/Bar/View/IView.cs)。
这是一个伟大的模式可供遵循,这使得它更容易找到类型,脚本超过来源,做一些度量等
如果没记错,这只是为C#如此。 Visual Basic不强制名称空间和目录之间的映射。 – 2009-01-11 03:35:20