这篇文章主要是记录阅读下面论文的观点以及自己的感受
论文:Simple Testing Can Prevent Most Critical Failures:
An Analysis of Production Failures in Distributed
Data-Intensive Systems
论文摘要
case1:严重系统错误中的92%是由于对于非严重错误的错误处理导致的,而这些非严重错误在软件中也明确有出现
case2:严重错误中的58%,这些错误中的底层错误能够很容易得通过测试异常代码来检测出来
case3:系统中有77%的错误需要超过一个输入事件来出现,90%错误出现的输入事件要求少于3个。
case4:88%的错误,这些错误需要多个事件才能出现,而这些事件需要特定的顺序才能触发这些错误
case5:77%的错误可以由单元测试进行复现
感想
- 软件开发中,针对异常或者错误处理一定要小心谨慎,不能忽略,需要有合适并且具体的处理。并且针对这些代码需要有单元测试来进行覆盖。
- 针对代码中的异常处理,必须要有具体的处理有段。不能忽略,不能只记录todo或者fixme而不处理,同时异常一般不要采用通用异常(类似java中dException代表大部分异常)
- 代码中的异常处理通常是bug来源的地方,所以在cr的时候要着重检查这些地方,同时单元测试也要尽量覆盖这里。
- 虽然功能开发很重要,但是异常处理以及单元测试也非常重要。
网友评论