5月 16, 2010

Cyclomatic complexity

關於 Cyclomatic complexity 一詞可參考 Wikipedia 上的解說。

中譯名稱是「循環複雜度」或者又稱為「迴圈複雜度」。主要是用來描述一個程式「條件分支」的複雜度,因為愈單純的 If-condition 愈容易讀懂,除錯時也較好發現問題所在。所以複雜度的數值,愈低愈好。在下面兩個情形複雜度的值都會加一:
  1. if / while
  2. switch-case
下列程式的 Cyclomatic complexity 分數是:2
foo()
{
if (condition)
printf ("hello");
}
下列程式的 Cyclomatic complexity 分數是:3
foo()
{
if (condition-X || condition-Y)
printf ("hello");
}

沒有留言:

張貼留言