在值可穷尽的情况下可使用枚举类型
当场景能够全覆盖的时候才使用枚举类型,比如付款状态:付款前,付款中,付款后,中前后三个状态能够覆盖所有付款的时间场景。

值在不可穷尽的情况下不适合使用枚举。请考虑其他方式或者设计模式来解决当前问题

而付款失败的种类,则不适合使用枚举类型,因为枚举无法覆盖全量的失败场景,在1.0版本的时候可能只有2,3,5这几种失败code,到了2.0的时候又多了6,8,9,。。。。如此类推,你会面临着不停的往这个枚举中添加新的值的窘境。而且在处理这个枚举的switch-case语句也会不断的膨胀,带来维护灾难。

而我们在使用枚举的时候,通常会伴随着switch-case这种变形的if语句,通常当一个if语句嵌套超过3层的时候,就考虑一下这里是否存在问题了。于是我们我们使用枚举加switch-case来判断场景的情况。也是值得商榷的。

Last modification:April 7th, 2020 at 08:11 pm
如果觉得我的文章对你有用,请随意赞赏