Java 编写干净的if else语句
使用if else链有些时候看起来比较复杂,这可以通过将代码写成小块来避免。使用条件语句可以增加代码的可读性和更多。一个最好的做法是首先处理错误的情况。下面的例子显示了如何处理错误情况和简化if else逻辑。
例子1:
updateCache()–这是一个方法,在一些类级变量的基础上决定更新主数据库。
updateBackupDb()–这是一个更新数据库的方法。
使用这种类型的if else很难调试和扩展现有函数的任何功能。
优化前
观察:
在下面的代码中,布尔变量已经被确定,在此基础上 ,使用if和return语句将代码分成小块。
1.如果更新没有准备好,那么不需要进入方法 ,只需要从这个方法中退出。
2.同样,如果强制更新的布尔值是假的,那么在if语句中执行任务 - 更新缓存并从这个方法返回。
3.在最后一步,剩下的所有任务都完成了,更新备份数据库和更新主数据库。
优化后
这种简单的代码块的好处是–对于下一个开发者来说,非常容易调试/理解/扩展这种方法。
例2:
通过现有的JAVA API代码例子来解释这个想法
这个代码片段取自Java文档:-
JDK子字符串代码 JAVA API
上述API的现有代码–这个写的很完美
优化后
如果有人在修改上述逻辑后使用下面例子中的if else,会非常复杂,但最后会产生相同的结果,所以我不喜欢如下所示的实现方式 –
优化前
在看到以上两个例子后,我们可以观察到,错误处理是在进入方法的时候进行的。这是一个很好的做法,首先处理错误情况。
总的来说,如果可以根据要求在小块中使用其他的东西,这将消除代码的复杂性,代码将易于使用/调试/维护/扩展。