C# 在相同的源文件中使用相同名称空间下的非嵌套类是好还是坏的做法

C# 在相同的源文件中使用相同名称空间下的非嵌套类是好还是坏的做法,c#,C#,可能重复: 我来到一家新公司,发现一个C#项目中只有一个源文件,其中有两个接口和两个公共类。(事实上,他们在大多数项目中都是这样做的。)这三个类都没有嵌套。然而,它们确实有一个继承链,从使用依赖注入的两个类的上开始 问题1: 因此,我的问题实际上不是关于模式,而是关于这些接口中的每一个是否应该位于单个源文件中,还是每个类或接口都位于一个源文件中的良好实践是什么? 问题2: 是否有一个好的博客、论坛、链接或书籍来解决这个问题 我不喜欢这种使用单一源文件的做法。我习惯于为每个类或接口指定一个源文件

可能重复:

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

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


我不喜欢这种使用单一源文件的做法。我习惯于为每个类或接口指定一个源文件。我喜欢每个类或接口都有一个源文件,因为它可以让我在文件级浏览封装的可能性。此外,文件名以ISomething开头,然后包含两个公共类:(

只有在违反名称匹配内容规则的情况下,这才是一种不好的做法。因此,如果你有Foo.cs,并且里面有类Foo和Bar,那么这将是一个问题。然而,让Vehicles.cs和类Car和Truck在里面是完全酷的


这只是我的个人规则,对我来说很有用。

ISomething.cs是一个非常糟糕的文件名称,如果它包含的是这个名称的话。接口上的访问修改器是什么?就我个人而言,我总是对每个.cs文件执行1个接口/1个类/1个枚举类似的问题,你可以在这里找到一些信息,他现在想知道为什么使用嵌套类[这里][1][1]:我不是问嵌套类。但是,我问的是同一源文件中的非嵌套类。我使用ISomething作为伪名称。同样,我的问题不是围绕这个具体细节。我试图在这里传达的主要思想是,文件名以I开头,然后是其后的任何内容,但其中有两个公共类that不是接口。