降低代码的圈复杂度
我们可以通过一些代码重构手段来降低代码的圈复杂度。
(1)抽象配置
通过抽象配置将复杂的逻辑判断进行简化。例如下面的代码,根据用户的选择项执行相应的操作,重构后降低了代码复杂度,并且如果之后有新的选项,直接加入配置即可,而不需要再去深入代码逻辑中进行改动:
(2)单一职责 -> (提炼函数)
函数应该做一件事,做好这件事,只做这一件事。 ————— 代码整洁之道
关键是如何定义这 “一件事” ,如何将代码中的逻辑进行抽象,有效的提炼函数有利于降低代码复杂度和降低维护成本。
(3)单一职责 -> (提炼函数)
我们经常会使用一个控制标记来标示当前程序运行到某一状态,很多场景下,使用 break 和 return 可以代替这些标记并降低代码复杂度。
(4)用函数取代参数
setField 和 getField 函数就是典型的函数取代参数,如果么有 setField、getField 函数,我们可能需要一个很复杂的 setValue、getValue 来完成属性赋值操作:
(5)简化条件判断 -> 逆向条件
某些复杂的条件判断可能逆向思考后会变的更简单。
(6)简化条件判断 -> 合并条件
将复杂冗余的条件判断进行合并
(7)简化条件判断 -> 提取条件
将复杂难懂的条件进行语义化提取