昨天下午实现一段代码,如果一说的话非常简单,非常低级的问题,但当时测试好几次,包括两个人review了,都没有发现问题.
结果集成到应用发布的时候出现BUG了,只好回滚.好在我们的应用都有预发而机制,没有影响线上的真实应用.
场景是这样的:
switch(x){
case 1:
case 2:
case 3: // nothing
break;
case 4:
dosomething;break;
case 5:
dosomething;break;
default:
dosomething;break;
}
昨天要实现case 3的逻辑,是一个URL编码.结果改成:
switch(x){
case 1:
case 2:
case 3: // nothing
urlencode(url);
break;
case 4:
dosomething;break;
case 5:
dosomething;break;
default:
dosomething;break;
}
当时测试的时候只写了个URL传进来,正确输出了.
没想到case 1和case 2的情况穿越到 case 3了,结果是case 1和case 2的字符串都进入了urlencode的逻辑.
这么低级有错误,说出来谁都明白,或者如果整个代码是自己一次性写的,绝对不会犯这种低级错误,但在修改别人原有代码时
却忘记了在上面加个break来阻止穿越.
这样的代码如果考虑到以后别人可能修改和维护,其实不如费点事每个case直接加上break;否则别人很容易在增加处理状态时忘记
上面的穿越.
小心啊,小心................................
分享到:
相关推荐
淡忘过去,记住教训,珍惜现在,美好生活作文.doc
软件测试经验与教训软件测试经验与教训软件测试经验与教训软件测试经验与教训软件测试经验与教训软件测试经验与教训软件测试经验与教训软件测试经验与教训软件测试经验与教训软件测试经验与教训软件测试经验与教训...
用于传递经验教训总结,以便有效地应用于其他项目 下一个模板: https://download.csdn.net/download/zys800228/10317861
质量体系表格经验教训数据库.xlsx
认证考试的经验和教训.xls认证考试的经验和教训.xls认证考试的经验和教训.xls认证考试的经验和教训.xls认证考试的经验和教训.xls认证考试的经验和教训.xls认证考试的经验和教训.xls认证考试的经验和教训.xls
软件测试经验与教训,软件测试经验与教训,软件测试经验与教训,软件测试经验与教训,软件测试经验与教训,软件测试经验与教训,软件测试经验与教训,软件测试经验与教训,软件测试经验与教训,软件测试经验与教训,...
这些经验中的每一条都是与软件测试有关的一个观点,观点后面是针对运用该测试经验的方法、时机和原因的解释或例子。 本书还提供了有关如何将本书提供的经验有选择性地运用到读者实际项目环境中的建议,在所有关键...
我今天受到了一个教训作文.doc
软件测试相关:软件测试经验与教训 介绍软件测试的经验和教训,以便于做测试工作的学习经验,接受教训。
本书是一本比较经典的测试用书,里面的经验值得我们去学习,教训值得我们去深思。 注意:本书不适合初学者用,但是你可以下载后保存,以后会用到。
项目总结经验教训.doc
实际软件项目实施经验与教训,本内容分为四个文档进行分别阐述
本页内容 1.总是调用 CoInitialize(Ex) 2.不要在线程之间传递原始接口指针 3.STA 线程需要消息循环 4.单元模型对象必须保护共享数据 5.谨慎启动用户 ...6.DCOM 不适于防火墙 ...7.使用线程或异步调用来避免 DCOM ...
项目总结经验教训-.pdf
一次深刻的教训.doc
编译没问题呀,但是提示我越界了,找了一个下午,后无意发现原来l和1弄混了……千万吸取教训! #include #include using namespace std; void Merge(int *initList, int *mergedList, const int l, const int ...
两个数字的教训作文.doc
软件测试经验与教训,汇集了测试领域的专家经验和教训。如何做好测试等等。。。