当前位置:首页 > 第7讲-枚举(找齐所有分支)
枚举—找齐所有分支
一、遗漏就是BUG,并且占比很高
我们先来看一个报工系统的例子。北京分公司的员工小王被临时借调到轨道交通中心的铁路宝项目上帮忙,他在系统中报工时发现自己只能选择北分的项目,不能选择铁路宝项目,这就导致他无法报工。负责报工系统运维的同事意识到在开发系统时遗漏了跨部门支持这种情况,他们花费了几天的时间,对系统进行整改后,小王才得以顺利报工。其实,系统使用过程中出现的问题,绝大部分都是由遗漏导致的,也就是说遗漏导致的问题占比很高。
我们把刚才报工系统的例子,用编程语言中switch语句的形式表示出来,漏掉了跨部门报工这种情况,就相当于switch语句中丢失了一个case,这就是BUG。由此可见遗漏就是BUG。
二、枚举是找齐所有分支的有效方法
我们再来看一个窗口改签功能的例子,改签的证件类型可能有身份证、临时身份证、学生证等;改签的场景可能有开车前改签、开车后改签等;证件类型那么多,改签场景也很多,组合起来更多。这么复杂的情况,很容易考虑不全,出现遗漏。
那怎样才能避免遗漏呢?我们可以用枚举的方法,枚举就是把所有场景列出来,一一分析的方法,是找齐所有分支最有效的手段。
三、做好枚举的三个要点
第一点:大于三,枚举搬。当我们发现分支超过了三种时,就要有意识的把枚举这个救兵搬出来。问一问自己一共有多少种类?都有哪些类型?还有哪些场景?通过这样几个典型的问题,把所有分支都枚举齐。也就是说当分支超过三个时,就要有使用枚举的意识。
第二点:把所有分支写下来。经过需求调研、讨论分析等等一番努力,我们得出了改签的业务情景可能包含开车前改签、开车后改签等9种分支。枚举出的场景和分支那么多,光靠大脑记肯定记不清楚,我们要随时用笔写下来。
第三点:修改成本是一样的。在做图书管理系统时,项目经理告诉小张需要考虑外来进修人员借书的情况。小张不以为然,觉得这种情况出现的概率太小,不用考虑。项目经理告诉他,如果不考虑小概率分支,小概率分支一旦出现,系统就无法使用了,我们就必须修改代码,而且产生的成本和修改大概率分支是一样的。
四、总结
最后,我们来做一下总结回顾。这一讲我们主要讲了:1、遗漏就是BUG,并且占比很高;2、枚举是找齐所有分支最有效的方法;3、做好枚举的三个要点,分别是:大于三,枚举搬;把所有分支写下来;重视小概率分支,因为修改成本是一样的。
共分享92篇相关文档