关于复杂条件语句的代码的一些所思所想

问题

一堆的条件语句,让一个想法达到完整正确,但是修改了一个变量总是会影响到别的地方

这些“别的地方”可能只哪些地方么?

改变了别的分支条件中的变量值

有什么好的办法呢?

有幸学过单元测试,知道了单元测试中的一些专业术语:

	 1.语句覆盖:语句覆盖就是设计若干个测试用例,运行被测试程序,使得每一条可执行语句至少执行一次。
     2.判定覆盖(也叫分支覆盖):设计若干个测试用例,运行所测程序,使程序中每个判断的取真分支和取假分支至少执行一次。
     3.条件覆盖:设计足够的测试用例,运行所测程序,使程序中每个判断的每个条件的每个可能取值至少执行一次。
     4.判定——条件覆盖:设计足够的测试用例,运行所测程序,使程序中每个判断的每个条件的每个可能取值至少执行一次,并且每个可能的判断结果也至少执行一次。
     5.条件组合测试:设计足够的测试用例,运行所测程序,使程序中每个判断的所有条件取值组合至少执行一次。
     6.路径测试:设计足够的测试用例,运行所测程序,要覆盖程序中所有可能的路径。

一个条件语句由:判断语句(),标识符if,代码块{},即if(){}组成
如果只测试条件判断语句,
1、判定覆盖,指的是所有的if(){}都得执行到
2、语句覆盖:每个{}中的每行都得执行到位
3、条件覆盖:每一个()中的每个条件都得执行到位
4、判定——条件覆盖:在各个()中的每种条件下的if(){}都得执行到位,也就是一一对应关系
5、条件组合测试:对于每个()中的每个判断语句组合都得执行到位
6、路径测试:所有的if(){}都可以执行到位----从开始到结束在()条件下经过的if(){}都得执行到位

   然而自己写的代码,一般都是直接写if语句的

根据以上的知识和代码经验,我有了如下方法

1、将每个路径写下来
2、每个不同路径下需要哪些变量也写下来。

这样子,我们可以很清晰的看见每个路径中变量之间的依赖关系。

一个想法

如果我有个工具,可以将条件语句中的所有路径生成出来,每个路径中的每个节点需要的变量也体现出来,
1、每个路径分为不同的颜色或者不同的标识
2、每个路径下的节点中的变量也有保存在别地方引用的记录,可以显示颜色数组,或者数字–也就时1、中的颜色。

这样子好处:
1、我们每次运行指定的数据时候,都可以看到变量引用关系,可以更加方便修改变量,而不会影响到别的分支。
2、方便在单元测试中条件判断组合表中和路径是否一一对应,是否还有别的组合没有发现,判定条件中如果否则之后是否会出现,出现之后是否会影响代码
3、可能使得重构代码更加容易,因为可视化了,可以看出不必要的变量或者有更加好的逻辑也就是可以优化逻辑。

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值