假如现在我们的情况判断确定只有两种(当然未来可能会有新的情况),比如:正确和错误两种状态。
我们定义正确的status值为1,错误的status值为2。
不推荐的代码写法:
public static void main(String[] args) {
int status = 1;
if (status == 1) { // 正确的处理逻辑
// doSomeThing for 1
} else { // 错误的处理逻辑
// doSomeThing for 2
}
}
应该这么写:
public static void main(String[] args) {
int status = 1;
if (status == 1) { // 正确的处理逻辑
// doSomeThing for 1
} else if (status == 2){ // 错误的处理逻辑
// doSomeThing for 2
} else {
// 记录错误的status
}
}
}
分析:
不推荐的写法,暂时看起来是没有问题的,但是稳健性很差,比如传入status=3,也会进行错误的处理逻辑。而推荐的写法中,则认为该种状态是错误的,从而使得代码可控。