使用 Tom McCabe 的 decision points(決策點)計算函式複雜度。
Step 1.從函式開頭以 1 開始計算。
Step 2.遇到if , while , repeat , for , and , or 類似關鍵字,加 1。
note : switch 每一個case 都要加1。
e.g.

    private void exampleCountDecisionPoints()
    {
        if((isProcess && isDone) || !isLimit) && numberLines > numberLinesLimit){
        }
    }

if +1
&& + 1
|| + 1
&& +1
total decision points = 5


 
複雜度對應原則表

0 ~ 5  -> 複雜度低可以接受
6 ~ 10 -> 複雜度中考慮簡化
10up    -> 複雜度高必須簡化