每个文件是否有建议的代码行数?

时间:2008-12-17 11:23:04

标签: vb.net visual-studio

我有一个类文件,其中包含某个Web应用程序所需的所有类。目前我在7269行,它包含很多课程。我并不是特别担心,但我开始注意到,在处理此文件时,Visual Studio的响应速度较慢。我想这可能是由于文件的大小和Visual Studio在每次按下键后重新编译而造成的。

有没有人对每个文件的每个文件行的限制有任何建议,或者有关如何/为什么要将类移到单独文件中的指导原则?

我发现这与Java有关,但我特别关注VB和Visual Studio 2005

Maximum lines of code permitted in a Java class?

由于

EDIT 文件中有大约50个类,有些很小,有些很大!

6 个答案:

答案 0 :(得分:17)

扯扯。

几乎每个人都强烈建议每个类包含在一个文件中。

直线并不是很直接相关,但它可能是你创造一个过于复杂的上帝阶级需要打破逻辑的症状。单元测试驱动开发在正确完成时强制执行此操作。

编辑(注意到“为什么?”):

从你问的事实应该是显而易见的:)

一些(有很多原因):

  • 在大文件中可视化实际代码布局非常困难

  • 大多数IDE都默认设置为一次显示多个文件,但不显示同一文件的多个视图

  • 对单个文件的源代码控制可能是一个问题:“你可以检查{godfile}以便我可以处理这个项目吗?”

  • 将代码分段为命名空间/包/分支是一个问题

答案 1 :(得分:7)

每个文件的一个顶级类型是传统的 - 虽然嵌套类型是可以的,但不要过分。有一些例外 - 如果我需要声明一些代理,我通常会将它们全部放在一个文件中(例如,C#的Delegates.cs) - 这是有道理的,因为每个委托类型只包含一个方法签名,基本上。有些人为枚举做同样的事情,但我不愿意这样做。

这使您的代码更易于导航,编译更快,并且更容易显示源代码管理中的更改。

除此之外 - 我开始担心如果单个类超过1000行代码而没有真正的充分理由。可能有充分的理由,但你至少应该看看班级是否有太多的责任。我已经看到类之前已经涵盖了足够的功能,值得拥有自己的名称空间(使用适当数量的小类提供所需的功能)......

从问题中不清楚你的个别课程是否如此庞大,但将课程分成“每个文件一个”至少应该有助于开始。

答案 2 :(得分:0)

1班,1档,annakata是绝对正确的。

在某些情况下,您可能会考虑使用部分类将它们拆分为不同的文件。

只有一个非常大的文件......在团队中工作一定是个噩梦,你们是怎么做到的?我猜你没有源代码控制,你需要做的每一个改变都必须将它复制到项目的部署副本。

这是一场等待发生的灾难。想象一下,如果一个文件被破坏了吗?

答案 3 :(得分:0)

如果ASP.NET页面有点复杂或太大,Visual Studio 2008会出现一些性能问题。幸运的是,这个问题有一个官方修补程序。安装这个修补程序确实对我有很大帮助,因为Visual Studio 2008的速度要快得多,所以我建议你试一试:

https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=10826

答案 4 :(得分:0)

每个文件一个类。我尽量不要为每个文件超过200行(不包括注释),但它确实会发生。

重构,重构,重构!

答案 5 :(得分:0)

像这里几乎所有人一样,我建议你每个文件1个班级。我总是试图保持清晰,并将概念分开,而且它自然倾向于低于600行代码。

我正在通过命名空间进行单元测试,我的文件超过了3k-4k的代码。现在,我将它们分成多个文件。更容易维护,如果你有像ReSharper这样的插件(ReSharper超过2k线减速VS),它会更快。