如果我正在处理一个类和一个公共结构(不是嵌套的),我应该为结构创建一个单独的.cs文件吗?或者让它不嵌套在类的.cs文件中? (这是假设结构涉及类,但也不是那么专属,它应该被嵌套和声明为private类)C#:与相关类相同的.cs文件中的嵌套结构?
编辑:我打消了我最初的问题大概有两班,因为我发现C# classes in separate files?
如果我正在处理一个类和一个公共结构(不是嵌套的),我应该为结构创建一个单独的.cs文件吗?或者让它不嵌套在类的.cs文件中? (这是假设结构涉及类,但也不是那么专属,它应该被嵌套和声明为private类)C#:与相关类相同的.cs文件中的嵌套结构?
编辑:我打消了我最初的问题大概有两班,因为我发现C# classes in separate files?
注意,只有人能准确回答这个问题的是你,和你的团队。如果你的团队很高兴在单个文件中找到几种相关的类型,那么......由于......无论如何......那么我或任何其他人所说的应该是......无关紧要。
在任何情况下,我会变成这个问题颠倒:
和我还没有想出了一个很好的理由。
有扩展/加载项到Visual Studio,您可以在相应的名称,并快速定位到该文件,我能想到的三个,但毫无疑问的人:
第一个允许您快速定位到由名称的文件。如果你知道类型,但是让人们将多种类型放入同一类型,那么这根本就没有帮助。
第二个和第三个让您按名称导航到某个类型,但不应该依赖具有这些类型的人或知道如何使用它们。
为此,我会主张遵循以下规则:
这取决于你问谁。
我个人觉得更容易阅读,如果他们都在,一如既往地爆发了。然而,编译器并不在乎......所以无论你和你的团队认同什么都会更容易理解。
在我看来,避免这种情况是一种很好的做法。有一天,一个开发商将在项目ClassBar
可以环顾四周,因为它是嵌套在ClassFoo.cs
工具,比如ReSharper的有一个整洁的功能,您可以只选择一类将不能够很容易地找到它,点击右键,放置在新文件中以使其更容易。
如果你读过任何流行的编码标准(兰斯亨特■设计,框架设计指南等)大多主张每个文件1班。
它讨厌向下滚动和搜索多少个类each.cs文件包含/隐藏。
同时使用版本控制
可用性与我们的团队可维护性问题。
检查here更多有趣的讨论。
我认为这是不太是否可以或者是否应。对于这样的事情,我觉得最好在代码库的其余部分查看约定。有时顺从会更好,因为它让其他开发人员的工作变得更加轻松,因为每个人都知道事情的发展。
如果是全新的项目,你自己在这里设置的标准,做对你有意义。对我来说,如果结构在相关类之外没有用处,我可以把它们放在同一个文件中。否则,我把它们分开。
+1一些好点 – BrokenGlass 2011-03-18 20:21:31
总是有右键点击“Go To Definition” 。 – 2011-03-18 21:15:14
+1我们将永远拥有巴黎。 – 2011-03-18 21:18:32