打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
思考小结:软件容错
思考小结:软件容错 所谓容错是指,在故障或异常存在的情况下软件系统不失效,仍然能够正常工作的特性。容错即是Fault Tolerance,确切地说是容故障,容异常(Fault),而并非容错误(Error)。
在实际中,容错常常被错误地理解为“尽量保证运行下去”,“尽量不报错,不抛异常”。这种习惯下,经常导致后期bug难以定位。
一个模块,如果对一个“错误的输入”可以纠正的,可以仍然产生正确合法的输出。确切来说,这个输入就不应该是错误的,应该视为正常的处理的一个特殊情况。
如果可以在一个故障中恢复,这个故障就是你可以容忍;如果对一个故障,可以在牺牲一部分数据的情况下,继续未完成部分的处理,这个故障也是可以容忍的。但是,大多错误是不可以容忍的。错误应该尽早的发现并且暴露出来。
是否容错,既与”错“本身的特点相关,也和处理的上下文有关。对同样的异常情况,对模块B来说,是一个不能容忍错误。而对多次调用模块B的模块A来说,可能就是一个可以容忍的异常,因为模块A要在忽略这一批次的数据后,继续下一批次数据的处理。
模块之间的接口,对数据的合法性应该有确定的说法,这是模块与模块之间的”契约“的一部分。模块作自己该做的,既不要少做了,也不要做多余的事情。
对不符合”契约“的非法输入,不应该产生非法的输出。而是以约定的方式报错。这时,终止程序都比返回非法数据,置整个系统为”不可知“状态要好。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
这次来讲讲软件测试用例编写规范吧!
功能测试中故障模型的建立
软件测试概论
软件测试基础
避免故障,容错设计 (eTech 11) ? DesignSpark
西门子S7
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服