我曾经对一个文件使用一个类。例如,car.cs有类car。但是当我编写更多的类时,我想把它们添加到同一个文件中。例如,car.cs有car和door类,等等。
我的问题适用于Java、C#、PHP或任何其他编程语言。我是否应该尝试在同一文件中不包含多个类,或者这样可以吗?
发布于 2008-12-11 19:54:03
我认为你应该试着让你的代码在每个文件中只有一个类。
我建议这样做,因为这样会更容易找到你的班级。此外,它将更好地与您的源代码控制系统一起工作(如果文件发生了变化,那么您就知道某个特定的类已经发生了变化)。
我认为在每个文件中使用多个类的唯一正确的情况是在使用内部类时……但是内部类在另一个类中,因此可以留在同一个文件中。内部类角色与外部类紧密相关,因此将它们放在同一个文件中很好。
发布于 2008-12-11 20:03:08
在Java中,每个文件一个公共类是该语言的工作方式。可以将一组Java文件收集到一个包中。
然而,在Python中,文件是“模块”,并且通常有许多密切相关的类。Python包是一个目录,就像Java包一样。
这为Python在类和包之间提供了额外的分组级别。
没有一个正确的答案是语言不可知的。它随语言的不同而不同。
发布于 2008-12-11 20:14:49
每个文件只有一个类是一个很好的规则,但也可以有一些例外。例如,如果我在一个项目中工作,其中大多数类都有相关的集合类型,我通常会将类及其集合放在同一个文件中,例如:
public class Customer { /* whatever */ }
public class CustomerCollection : List<Customer> { /* whatever */ }
最好的经验法则是每个文件保留一个类,除非这会使事情变得更难而不是更容易。由于Visual Studio的Find in Files非常有效,因此您可能不需要花费太多时间来查看文件结构。
https://stackoverflow.com/questions/360643
复制相似问题