我正在一位外部顾问的帮助下用C#开发一个.NET应用程序。我们的目标是将这个项目作为更好的开发过程的测试用例,特别关注最佳实践(从而产生一个合适的软件产品,而不仅仅是一个程序)。
目前,我们对开发异常处理和日志基础结构或开发应用程序的适当架构和功能(已经进行了分析和建模)是否要付出更多的代价(并浪费更多的时间)持怀疑态度。
因此,问题是:异常处理是否必须与应用程序开发一起构建,或者我可以只编写程序,当事情准备好后,我在程序上"应用"错误处理和异常管理代码?
这是一个非常小且易于理解的应用程序,具有一个易于理解的体系结构,但我们担心,如果我们不从一开始就对基础结构和跨领域问题做出正确的选择(也就是说,大部分代码还没有编写),将会重做太多的工作。
另一点是:我们不确定是否会为此使用某种框架,如果是,会是哪一个。因此,如果这不是根本性的,我们可以开发应用程序的其余部分,稍后再进行开发。
我们的目标是将此项目作为更好的测试用例开发过程
因此,如果您正在考虑一个更好的开发过程,那么处理错误将是更好的方法,因为您可以捕捉异常并在那时进行改进。
在我看来,花在正确处理异常和记录日志上的时间永远不会浪费——这是花在一个好产品上的时间。认为你正在开发正确的"体系结构和功能"是很好的,但锁定的文件就是锁定的文件,无论你的程序多么聪明,拔下的网线仍然是拔下的。就日志记录而言,你不会认为你需要它,也许你真的不需要,所以一种学派认为需要时添加它。另一方面,一旦产品进入现场,告诉客户"设置此设置并将日志发送给我们"要比"天哪,我知道吗"容易得多。
框架是可选的,我倾向于跳过它们——.NET本身对日志记录和异常处理都有很好的支持。但在你下定决心之前,你可以先看看Log4net。