在同一命名空间下的同一源文件中使用非嵌套类,这种做法好还是不好?

3

可能重复:
C#单独文件中的类?

我来到了一家新公司,发现一个C#项目只有一个源文件,在其中有两个接口和两个公共类。(事实上,这是他们在大多数项目中都采用的方式。)三个类中没有一个是嵌套的。但是它们确实具有继承链,从两个类中的一个开始使用依赖注入。

问题1: 所以我的问题实际上不是关于模式的问题,而是关于每个接口是否应该在一个单独的源文件中或每个类或接口一个源文件的良好实践是什么?
问题2: 是否有一个好的博客、论坛、链接或书籍来解决这个问题?

我并不立即喜欢这种使用单个源文件的做法。我习惯于每个类或接口一个单独的源文件。我喜欢每个类或接口一个源文件,因为它给我提供了关于封装可能性的文件级浏览。此外,文件名以“ISomething”开头,然后在其中有两个公共类。 :(


如果ISomething.cs文件包含的是接口,那么这个文件名真的很糟糕。接口的访问修饰符是什么?就我个人而言,我总是将每个.cs文件限制为1个接口/1个类/1个枚举。 - Stealth Rabbi
类似的问题,您可以在这里找到一些信息,他想知道为什么要在.NET中使用嵌套类这里 - Nivid Dholakia
我并不是在问嵌套类。而是在询问同一源代码文件中的非嵌套类。 - apolfj
我使用ISomething作为伪名称。再次强调,我的问题不围绕这个具体的细节。我试图传达的主要思想是文件名以I开头,后面跟着任何内容,但其中包含了两个不是接口的public类。 - apolfj
1个回答

2

只有当名称与内容不符时,才会是一种不好的做法。因此,如果你有一个名为Foo.cs的文件,在其中有类Foo和Bar,那么这将是一个问题。但如果你有一个名为Vehicles.cs的文件,在其中有类Car和Truck,那么这是完全可以的。

这只是我个人的规则,一直以来都很有效。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接