在软件开发中,反证方法的典型运用

在我的开发中,经常存在着多分支条件校验的的情况,例如有三种情况导致出错,而导致三种情况的原因呢,又各是三种。 如果导致校验出错的情况,有n个分支,那么出错的解空间大小也许就是2的n次方,或者是3的n次方的大小。
如果我们在各分支上分别写条件去校验是否出错。那么可能会非常的复杂,而且对于出错的分支的预计,总是不是很全面、准确。即使你能够写出所有的出错的条件分支,那么写出来的代码将是非常丑陋的。


[img]http://dl2.iteye.com/upload/attachment/0113/0129/cc05d28f-645c-3ea9-8321-0890dd24749e.png[/img]


在软件开发中,我们可以运用数学的证明方法中的[size=medium][b]反证法[/b][/size]。 使程序的逻辑分支,直接得出最终的错误结果。例如,不允许重复值的产生。只需要写出产生重复值时的处理逻辑即可。

如以下代码:


if (amount >= 2) {
Ext.Msg.alert('提示', '存在重复的数据!');
return false;
}

不仅仅在做这样的条件校验时,可以用到反证法。在软件开发的过程中,有许多地方,可以运用反证法,使得问题的解法优化!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值