2010-02-23 64 views
1

我正在基于单个网关页面的asp.net网站上工作,该网页通常处理所有请求和响应。网关页面有很多类取决于发生了什么,但主网关页面中有很多代码,分成许多方法。我知道JIT编译器只会在需要时加载和JIT方法,因此我的方法越小越好。但是,我的问题是:如果在同一个aspx.cs文件中有数千行和数百个方法,那么这很重要吗?我应该尝试将功能分解为更小的源文件,类和名称空间吗?或者实际上,这不会有太大的区别,因为.net运行时只会在每个方法需要时进行jit和加载?我很欣赏人们在这里可能有编码风格的贡献,但我真的很想知道.NET在技术上做了什么,所以我可以根据纯粹的性能标准做出我的决定。非常感谢。如果我做了“重构”,我希望看到哪种性能差异?ASP.NET C#页面大小问题

回答

5

没有性能问题仅仅因为它在单个文件中。您拥有的问题主要是维护,缺乏对编码最佳实践和可测试性的关注。

+0

感谢您回答这个问题。 – DEH 2010-02-23 22:11:26

6

我会立即解雇任何使用25,000行代码生成单个类的人。这是现代软件开发实践无知的迹象。

+0

... OP并没有说这是一个单一的类... – 2010-02-23 12:08:57

+0

@Mitch:OP说这是一个页面。你会怎么打赌? – 2010-02-23 12:10:38

+2

...我努力不去想象它...... – 2010-02-23 12:11:11

0

我认为除了创建一个更易维护的解决方案之外,你不会得到任何东西。如果你有性能问题,而不是试图绕开JIT,为什么不升级你的硬件。

而是专注于制作高质量,易于维护的产品,并让JIT编译器做到最好。

6

个人资料,个人资料,个人资料!

您正在担心您可能没有察觉到的性能问题。

我会更担心你的代码的可维护性。

0

性能差异很小,但在大多数情况下,完美的性能几乎是不相关的。与40小时的开发人员进行小规模更改所需的时间相比,节省的毫秒数或更少。该计划必须执行很多才是值得的。

1

如果是单个类,则使用'partial class'创建多个文件。如果您的aspx.cs文件中有多个类,请将每个类放入其自己的文件中。它不会实现任何性能增益,但会使您的代码变得更加可维护

0

有几件事情要注意

  1. 重构你的代码或将多个文件中的代码不会有任何 性能优势,因为所有的类都最终编译。但它会帮助你 管理你的代码。如果你可以管理他们,那么没有问题。

  2. 当一个请求被发送到服务器时,最终回送的响应是html,并且这个html是如何生成的并不重要。

在我看来,重构或分离你的代码到多个文件中不会提高应用程序的性能,但是会提高你的编码性能。