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%。
支援個性化定製需求,包括規則配置,誤報遮蔽,路徑遮蔽,配置自定義判空巨集等。