c++ - style中文 - google naming




自動工具檢查C/C++的代碼約定 (6)

AFAIK視覺工作室保費和終極有這樣先進的選擇槽分析和測試的工具。 但那些不是免費的:(

我們讓學生在課程中提交練習,而他們必須遵守一些代碼規範。 例如,函數名稱應該在camelCase中。 函數長度不應超過50行(任務是足夠簡單的劃分)等。我正在尋找一個工具,可以自動檢查為C / C + +(都需要)。 也就是說,如果出現問題,我希望工具能夠投訴,以便學生可以修復它。 到目前為止,我一直無法找到合適的東西。 如果這個東西是開源的,可以很容易的配置到我們的需要,那就OK了


Doxygen生成XML輸出,這將非常容易處理...至少,就像在標識符中查找單詞邊界一樣簡單。


您可以使用unix工具indent 強制一些C編碼風格。

看到

man 1 indent

當它被安裝。


在某種程度上取決於所需的細節和精度以及投資的意願(無論是自己做還是花錢支付某人),您都可能想要看一眼:這是一個C,C ++和Object-C編譯器C ++公開其內部數據結構。 儘管我已經使用了一個插件來檢查各種錯誤的代碼,大部分是較小的挑剔的東西。 由於編譯器暴露了一個AST,例如,發現C風格轉換(可能會在C代碼上有點噪音),吐出警告是微不足道的。

雖然我沒有使用它,鏗鏘可以顯然也發出其內部數據結構的XML表示。 如果你不需要問“ A類是A可公開訪問的B類基類”這樣的問題(即需要對AST進行語義檢查的非平凡問題),那麼這對你所描述的工具來說可能更容易。 實際上,無論哪種情況,您都可以讓您的學生實施這些支票:如果您有足夠的學生,並且多次分配相同的支票,以確保您至少獲得一個良好的實施,則可以快速收集整齊的收集。 ...如果你的學生和我一樣(呃,我真的不希望你的命運如此糟糕),他們甚至會喜歡這個練習。

但是有一件事情: 不要任何 C ++程序員標記為使用CamelCase! HereIsASimpleAndImpressiveExampleOfWhyUseOfCamelCaseIsReallyBad:you_have_a_much_easier_time_to_read_this! C ++程序員傾向於做正確的事情。 因此,像CamelCase和Hungarian Notation這樣愚蠢的可憎物就沒有被使用。


有EditorConfig,看起來它的目標是成為一個工具來執行各種編輯的編碼標準。 支持和功能是有限的,但這是一個不錯的主意。 http://editorconfig.org/






naming-conventions