什么是【圈复杂度】

圈复杂度(Cyclomatic complexity)是由 Thomas J. McCabe, Sr. 在1976年提出的代码复杂度的衡量标准。它是软件测试中的一个概念,它的定义:代码中与线性无关路径的数量。

感觉好难理解,举例!如果代码中不包含控制流语句,那么这段代码的圈复杂度为 1,因为代码中只有一条路径;如果代码中包含一段条件语句(if),那么这段代码的圈复杂度为 2;如果包含两条条件语句,或者嵌套一层条件语句,那么代码的圈复杂度为 3......也就是说控制流越多情况就越复杂,它的增长可能不是线性的,这样导致测试 Case 越来越,代码也越来越难以维护。

在日常工作中,大家为了完成复杂的逻辑,将代码的圈复杂度弄的越来越高,最终自己也难以维护这段代码,原因何在?没有思考,没有学习,我们经常说的设计模式就是为了避免这个问题。

多思考,多改变,才能成为优秀的设计者。

〖坚持的一俢〗

你可能感兴趣的:(什么是【圈复杂度】)