2010-02-03 67 views

回答

2

我看到两个主要的原因:

  1. 编译时错误检查。
  2. 避免在第一页适合编译的开销。

第一个允许在开发过程中检测到更多错误(例如属性名称中的拼写错误),而不是获取死亡的黄色屏幕。如果有问题的代码是错误路径,那么确保测试覆盖率可能很难确保测试覆盖率可以透过。

这不能保证在生产中不会有错误。在编译时显然不会出现逻辑错误,也不会错过错误处理(仅列出两大类错误)。

此外,它不会防止由于缺少装配(在开发计算机上存在但未部署到生产中)而缺少参考问题。因此,良好的实践仍然需要一个临时环境(这也可以用于验收测试),开发人员和测试人员将其视为生产 - 只有访问才能部署经过纠正的版本(无需直接修复),因此修复了所有问题从开发(和源代码控制)开始。

+0

明白了你的意思,非常感谢。但是,在我的第二个问题上,如果在我的本地计算机中编译它并将其部署到服务器后,有可能会出现错误?可能是因为我的机器和服务器上的设置与cpu的数量/类型有所不同? – 2010-02-03 10:57:21

+0

@mcxiand:请参阅解决第二个问题的最后两段。 – Richard 2010-02-03 11:55:05

+0

我看到它,但它没有解决这个问题。我所说的“机器设置”不是逻辑错误或缺少装配。 – 2010-02-03 12:10:44

2

另一个优势是如果您必须部署到不受信任的环境(例如共享主机),则保护您的源代码,因为您只部署二进制文件,这使得第三方难以进行任何反向工程,在那里你所有的.cs文件。

仅执行编译就不会看到任何跨平台问题。请查看this答案,它解释了.NET如何在不同的体系结构上运行。

相关问题