代码复杂度降级的几个实例

时间:2024-04-14 15:49:58

降低代码的圈复杂度

我们可以通过一些代码重构手段来降低代码的圈复杂度。

(1)抽象配置

通过抽象配置将复杂的逻辑判断进行简化。例如下面的代码,根据用户的选择项执行相应的操作,重构后降低了代码复杂度,并且如果之后有新的选项,直接加入配置即可,而不需要再去深入代码逻辑中进行改动:
代码复杂度降级的几个实例


(2)单一职责 -> (提炼函数)

函数应该做一件事,做好这件事,只做这一件事。 ————— 代码整洁之道

关键是如何定义这 “一件事” ,如何将代码中的逻辑进行抽象,有效的提炼函数有利于降低代码复杂度和降低维护成本。
代码复杂度降级的几个实例


(3)单一职责 -> (提炼函数)

我们经常会使用一个控制标记来标示当前程序运行到某一状态,很多场景下,使用 break 和 return 可以代替这些标记并降低代码复杂度。
代码复杂度降级的几个实例


(4)用函数取代参数

setField 和 getField 函数就是典型的函数取代参数,如果么有 setField、getField 函数,我们可能需要一个很复杂的 setValue、getValue 来完成属性赋值操作:
代码复杂度降级的几个实例


(5)简化条件判断 -> 逆向条件

某些复杂的条件判断可能逆向思考后会变的更简单。
代码复杂度降级的几个实例


(6)简化条件判断 -> 合并条件

将复杂冗余的条件判断进行合并
代码复杂度降级的几个实例


(7)简化条件判断 -> 提取条件

将复杂难懂的条件进行语义化提取
代码复杂度降级的几个实例

相关文章