目錄
一、什么是cpplint
二、cpplint能實現的功能
三、cpplint的下載與使用
1、配置python環境
2、安裝cpplint
四、cpplint常用命令講解
1、常用命令查看
2、常用命令詳解
3、命令使用方式
五、?cpplint的實用技巧
1、集成cpplint
1.1、修改調用接口.
1.2、直接把cpplint集成到IDE工具里
1.2.1、打開VS,選擇工具-外部工具
1.2.2、選擇添加,進行配置?
1.2.3、運行檢測
?2、修改cpplint實現自定義編碼規范
一、什么是cpplint
cpplint是一個用于檢查C++代碼風格的工具,它可以幫助我們自動化地檢查代碼,發現潛在的編碼問題,確保代碼風格的一致性和規范性,提高代碼質量。cpplint遵循Google的C++編碼規范,通過靜態分析代碼來檢查潛在的問題,如命名規范、格式、內存管理等。
二、cpplint能實現的功能
注意cpplint僅僅只是給出基于google的編碼規范建議,需要我們針對建議去一個個修改:
1、檢查代碼縮進是否正確。 |
2、檢查變量、函數、類命名是否符合規范。 |
3、檢查代碼注釋是否符合規范。 |
4、檢查代碼行長度是否符合規范。 |
5、檢查頭文件包含順序是否正確。???????? |
6、檢查代碼中潛在的錯誤和不良習慣。 |
三、cpplint的下載與使用
下載安裝這一塊,我看網上不少教程都是讓去github倉庫下載,但是我嘗試了一下發現可以直接pip下載,會更加簡單快捷。
由于該工具是基于python腳本,所以必須保證先有python環境
1、配置python環境
去官網下載python文件,一定記得勾選自動添加到環境變量中,
https://www.python.org/downloads/windows/
cmd驗證:出現版本號說明環境配置好了,注意是-V(大寫)
python -V
?2、安裝cpplint
此時直接執行命令:pip install cpplint?
執行安裝程序,看到出現Successfully installed cpplint-1.6.1說明安裝成功
安裝成功后就可以開始使用,具體的使用方法:
2.1、在需要檢查的文件夾下cmd打開終端
2、輸入命令:
python xxx\cpplint.py ?需要的命令 ?需要檢測的文件
這里xxx就是cpplint.py的文件路徑,如果覺得麻煩也可以先添加到環境變量里面去
3、此時cpplint就會分析代碼并給出結果
四、cpplint常用命令講解
來看看cpplint.py的常用命令
1、常用命令查看
打開終端執行命令
python xxx\cpplint.py --help
再次提醒這里xxx就是cpplint.py的文件路徑,如果覺得麻煩也可以先添加到環境變量里面去
?2、常用命令詳解
我們先來看幾個常用的:
1、--verbose=#: 這個選項用于設置詳細程度。
對于發現的每個問題,cpplint都會給出一個位于區間[1,5]之間的置信度評分,分數越高就代表問題越肯定,可以通過verbose選項控制輸出哪些級別,置信度評分為1、2的將不會再輸出。通過指定#的值,可以控制輸出的詳細程度
2、--output=emacs|eclipse|vs7|junit|sed|gsed: 該選項用于指定輸出的格式。
可以選擇不同的輸出格式,如emacs、eclipse、vs7、junit、sed或gsed。?默認是emacs,vs7是Visual Studio輸出的兼容格式
3、--filter=-x,+y,...: 用于過濾特定的錯誤或警告。
通過指定-x來排除特定的錯誤或+y來包含特定的警告,-表示不輸出,+表示輸出
4、--counting=total|toplevel|detailed: 該選項用于設置錯誤計數的方式。
可以選擇計算總數、僅計算頂層錯誤或者詳細計數。
示例:
--counting=total
輸出:Total errors found: 121?
命令數不少,就不再一一詳細列舉,大家可自行查閱參考:
序號 | 命令 | 解釋 |
1 | --root=subdir: | 指定根目錄。可以將指定的子目錄作為根目錄進行檢查。 |
2 | --repository=path: | 指定存儲庫路徑。可以指定代碼存儲庫的路徑。 |
3 | --linelength=digits: | 設置每行的字符數限制。通過指定digits的值來設置每行的字符數限制。google cpplint默認是80字符 |
4 | --headers=x,y,...: | 指定頭文件。可以指定要檢查的頭文件。 |
5 | --recursive: | 遞歸檢查子目錄。通過添加此選項,可以遞歸地檢查子目錄中的文件。 |
6 | --exclude=path: | 排除特定路徑。可以指定要排除檢查的特定路徑。 |
7 | --extensions=hpp,cpp,...: | 指定文件擴展名。可以指定要檢查的文件擴展名,如hpp、cpp等。 |
8 | --includeorder=default|standardcfirst: | 指定包含文件的順序。可以選擇默認順序或將標準C頭文件放在首位。 |
9 | --quiet: | 靜默模式。通過添加此選項,可以使輸出更加簡潔,減少冗余信息。???????? |
10 | --version: | 顯示版本信息。通過添加此選項,可以查看cpplint.py的版本信息。 |
3、命令使用方式
python xxx\cpplint.py ?命令 ?需要檢測的文件?
五、?cpplint的實用技巧
1、集成cpplint
雖然cpplint是谷歌公開 C++編碼規范 號稱是全球最好,但是也僅僅是給出建議,我們需要對應文件去一個個修改,其實還是非常不方便的,針對這個問題常用的兩種解決辦法。
1.1、修改調用接口.
直接把錯誤信息當成注釋一次性放入源文件中,然后打開一次源文件,依次修改即可
參考文章:
c++代碼靜態檢查工具——cpplint使用技巧_cpplint 指出來的問題怎么改-CSDN博客
1.2、直接把cpplint集成到IDE工具里
常見的比如Visual Studio、Visual Studio Code等,我們這里以VS為例,可以實現在VS的輸出窗口輸出編碼建議,點擊對應建議可跳轉到對應代碼位置
1.2.1、打開VS,選擇工具-外部工具
1.2.2、選擇添加,進行配置?
注意這里命令和參數里都需要輸入具體的文件路徑,
參數里選擇output為vs7,默認是emacs,vs7是Visual Studio輸出的兼容格式?
1.2.3、運行檢測
配置完成后,隨便打開某一個cpp文件,點擊工具-cpplint.py,即可運行檢測
此時我們工具里已經多了cpplint.py,對任意一個文件均可使用該工具,點擊對應建議會跳轉到對應代碼處。
2、修改cpplint實現自定義編碼規范?
雖然google的c++編碼規范已經很不錯了,但是肯定不會完全適用,幸好cpplint還支持規則制定
可以通過修改cpplint的配置文件來自定義檢查規則。這樣我們就可以根據團隊或項目的需求,定制適合自己的代碼規范檢查規則。進而定制出一套團隊的編碼規范并長期使用。
當然,這個我還沒試過,大家感興趣可以自己先嘗試嘗試。
綜上,我們就完成了cpplint的下載安裝與使用。
都看到這里了,點個贊再走唄朋友~
加油吧,預祝大家變得更強!