1. 程式人生 > >source insight下幾個實用的小工具

source insight下幾個實用的小工具

1、SourceMonitor使用

C語言度量值(C Metrics)、

  •  總函式(Lines):包括空行在內的程式碼行數;
  • 語句數目(Statements):在C語言中語句就是以分號結尾的。分支語句IF,迴圈語句FOR,跳轉語句都被計算在內,預處理語句#include等也被計算在內。
  • 分支語句比例(Percent Branch Statements):該值表示分支語句佔語句數目的比例 ,這裡的分支語句就是指使得程式不順序執行的語句,包括if、else、for、switch。
  • 註釋比例(Percent Lines with Comments):該值表示註釋行佔總行數的比例。
  • 函式數目(Functions):指示函式的數量;
  • 平均每個函式包含的語句數目(Average Statements per Function):總的函式語句數目除以函式數目得到該值。
  • 函式圈複雜度(Function Complexity):圈複雜度表示一個函式可執行路徑的數目,以下語句為圈複雜度的值貢獻1:if/else/for/while語句,三元運算子,if/for/while判斷語句中的“&&”、“||”,switch語句,後接break/goto/return/throw/continue語句的case語句,catch/except語句。
  • 函式深度(Block Depth):函式深度指示函式中分支巢狀的層數。
  • 最複雜的函式所佔的行數(lines numbers of most complex funtion)

舉例1:函式為:

void sdsd(void)
{
    if(1)
    {
        ;
        ;
        if(1)
        {
            ;
            vtMenu_iconApp_Handle();
        }
    }
}

 

舉例2:函式為:

void dhushdusd(void)
{
    if(1)
    {
        ;
        if(1)
        {
            ;
        }
        else
        {
            ;
        }
    }
    else if(2)
    {
        ;
        if(1)
        {
            ;
        }
    }
    else
    {
        ;
    }
}

2、astyle

這個工具可以對C語言進行規則對齊。

3、sourceinsight-scan

sourceinsight-scan 是一款整合在 SourceInsight 中的c/c++程式碼靜態分析外掛,集成了cppcheck,coverity,pclint等業界優秀的靜態分析工具的優點。

旨在幫助開發人員,在IDE中快速發現編譯器無法發現的非語法錯誤,降低修復成本。

無需編譯,平均掃描速度高達10W行/分鐘,快速幫您發現潛在的質量風險,包括空指標,越界,記憶體洩漏及潛在的邏輯錯誤,平均準確率高達80%。 

支援個性化定製需求,包括規則配置,誤報遮蔽,路徑遮蔽,配置自定義判空巨集等。