Offer 驾到,掘友接招!我正在参与2022春招系列活动-刷题打卡任务,点击查看活动详情。
这篇文章分享的内容来自B站up主 红桃A士的《改善丑陋代码》的系列视频,主要是视频内容的笔记和总结。
一、嵌套if-else语句的优化
- 下面的代码就是开发中常见的if-else语句,但是这种方法可读性非常差,一方面是不容易找准if-else的对应关系,另一方面多个if的嵌套对于后续的代码阅读来说很难找到整个条件的汇总
- 采用do{}whild(false)语句优化,优化的代码见下图。在日常开发中,如果if-else嵌套超过三层,就可以考虑将其转化为do{}whild(false)语句。这种方法大大提高了代码的可读性
二、if-else语句条件合并优化
- 随着项目的不断扩充,外面经常会写出比较冗长的if-else语句,这对代码的可读性有非常大的影响,如下图中的代码
- 优化点1:条件合并。使用逻辑或或者逻辑与拼接有相同结果的条件语句,这样if的条件分支就减少了,优化代码如下。
- 优化点2:函数提炼。这是十分容易被忽视的一个优化点,当完成上面一点的优化后,当自己和其他开发者阅读这一段代码的时候,并不能从if条件中完整准确的判断,它究竟判断的是什么。随着之后更多的条件合并进来的时候,这些if条件会越来越长,也就越来越难以表达if中的含义,这时候就需要使用函数提炼,让语义更加清晰,优化代码如下图,结果这两步优化不仅减少了if分支,还提高了代码的可读性和语义性