有哪些好用的代碼檢查工具
常用的我都列在了上圖,比如cppcheck,
使用方式如圖,它在Linux上安裝比較方便:
sudo apt install cppcheck。
在Windows上,需要下載cppcheck的安裝包:cppcheck.sourceforge.io/ ,也可以下載源碼,注意安裝成功后需要配置下它的環(huán)境變量。
也可以使用clang-tidy來(lái)做靜態(tài)代碼檢測(cè), 不同于cppcheck使用正則表達(dá)式進(jìn)行靜態(tài)代碼分析,clang-tidy是基于語(yǔ)法分析樹的靜態(tài)代碼檢查工具,雖然它的速度比正則表達(dá)式慢一些,但是它檢查的更準(zhǔn)確、全面,而且不僅可以做靜態(tài)檢查,還可以做一些修復(fù)工作,自行添加一些自定義檢查規(guī)則。
clang-tidy的使用可以看這篇文章:
如何寫出優(yōu)雅的C++代碼
這里還重點(diǎn)推薦下cpplint:它可以檢測(cè)代碼是否符合Google的編碼規(guī)范,會(huì)把不符合規(guī)范的地方都指出來(lái)。
使用方式如圖,它的安裝也很簡(jiǎn)單:
python3 -m pip install cpplint。
很多項(xiàng)目都會(huì)把cpplint集成到pipeline里,不符合編碼規(guī)范的MR不允許被merge。
要具體了解可以看它們的文檔:
cppcheck的文檔:https://cppcheck.sourceforge.io/manual.pdf
cpplint源碼:https://github.com/cpplint/cpplint
我在這個(gè)倉(cāng)庫(kù)里也塞了寫關(guān)于代碼檢測(cè)方面的文章: