C / C ++ソースコードを一連のコーディング標準と照合する無料のツールですか?[閉まっている]


151

Java(CheckstyleJCSC)用のそのようなツールを見つけるのは非常に簡単に見えますが、C / C ++用のツールを見つけることができないようです。私は糸くずのような静的コードアナライザーを探していません。変数の名前付け、大文字の使用、間隔、識別、ブラケットの配置などのコーディング標準に対してチェックしたいだけです。


3
ここで必要な答えが見つからない場合は、この質問を検討してください:stackoverflow.com/q/10819398/120163
Ira Baxter

回答:


57

私が知っている唯一のツールはVeraです。しかし、それを使用したことがないので、それがどれほど実行可能であるかコメントすることはできません。デモは有望に見えます。


私はそれをテストしました、そしてそれは非常に簡単です。しかし、うまくいきます!
Jader Dias、

7
試しましたががっかりしました。トークン化されたC ++コードですが、「識別子」のトークンタイプは1つだけなので、たとえばクラス名、メンバー変数、ローカル変数を区別しません。したがって、さまざまな種類の識別子にさまざまな命名規則を適用する方法はありません。
ジョンW

Veraには非常に包括的なルールのセットはありませんが、それらは(TCLで)拡張可能です
fmuecke

2
「拡張可能」は、非常に単純なタスクにのみ使用できます。VeraのC ++の理解は浅いので、「詳細なスタイルチェック」(可能な[推奨ではない]ルールを検討:割り当てごとに、同じ関数に対応する割り当て解除がある)は、適切なC ++知識をエンコードする必要があります。それは本当に難しいので、それは起こりません。
Ira Baxter

Veraへのリンクを修正:bitbucket.org/verateam/vera
congusbongus

49

4
+1。これはとてもいいです-それは非常に厳密なスタイルを持っています。vera ++のように独自のルールで拡張するのはそれほど簡単ではありません。
fmuecke

ただし、GoogleのC ++スタイルを使用している場合はすばらしい:) +1
jkp

3
私はこれが今と呼ばれるいただきましであると仮定しcpplintで見つけることができますgithub.com/google/styleguide/tree/gh-pages/cpplint C ++ lintの上記のリンクが壊れています、。
Zitrax

参考までに、インストールには「pip install cpplint」を使用できます。次に、「cpplint file.cpp」または「cpplint --recursive」を使用できます。「./cpplint.py」ではなく、IMOを使用することをお勧めします。少なくともgithubからダウンロードするよりも簡単
Colin D



7

あなたが何を求めているかは正確ではありませんが、私は、コーディングスタイルastyleが生成してプロセスを自動化できることに同意する方が簡単だと思いました。


1
もちろん、ArtisticStyleはフォーマットにのみ焦点を当てていることを明確に示してください。もちろんこれは悪いことではありません:)
Wolf

6

nsiqcppstyleを試してください。C / C ++用のPythonベースのコーディングスタイルチェッカーです。独自のルールを追加するために拡張するのは簡単です。



2

私は自分の作品でそのLDRAツールスイートを使用しました

c / c ++コードのテストに使用されますが、MISRAなどのコーディング標準に対してチェックすることもできます。


1
なぜこれが変更されているのですか?LDRAも静的アナライザーであるとしても(質問では探していないものです)、コード規格の違反についてコードをチェックすることもできると思います。
Vitor Py

4
LDRAの費用はあなたの平均的な車と同じくらいです...私の無料という考えではありません。
ランディン、2015

2

sourceforge.netを確認universalindentguiしてください。

C用の多くのスタイルチェッカーがあり、チェッカーをカスタマイズできます。


UniversalIndentGUIライブプレビュー機能があり、構成をエクスポートし、スクリプトをエクスポートできます。GNU Indent、Artistic Style、Uncrustifyなど、さまざまな「インデンター」を試すのに最適です。
congusbongus 2013年

1

同じ名前のプラグインを介してHudsonでもサポートされているcppcheckがあります。


4
cppcheckは静的分析ツールであり、質問が求めているものではありません。
Vitor Py

多分これは2010年以来変更されました:今日のCppcheckには、スタイルの問題に関する警告も含まれています。しかし、まあ、OPは静的コードアナライザーを明示的に除外しました。
ウルフ



-1

私は現在、そのようなツールを書くために別のプロジェクトでプロジェクトに取り組んでいます。他の静的コード分析ツールを調べて、もっと上手くできると判断しました。

残念ながら、このプロジェクトは、コードについてのかなり詳しい知識がなければ、まだ使用する準備ができていません(読んでください:それは地獄のようにバグが多いです)。しかし、私たちはかなり迅速に動いており、次の8週間以内にベータ版がリリースされることを期待しています。

プロジェクトはオープンソースです。プロジェクトページアクセスできます。参加したい場合は、外部入力を追加してください。

詳細については退屈しません。そのためのプロジェクトページにアクセスできますが 1つだけ言っておきます。ほとんどの静的コード分析ツールは、コードの誤りをチェックすることを目的としており、コーディングガイドラインのチェックにはあまり関心がありません。プラグインを作成して「ハウスルール」と考えられるバグの両方をチェックできる、より柔軟なアプローチを採用しました。

さらに情報が必要な場合は、遠慮なくご連絡ください。

乾杯、


4
最後のコミットは2009年6月でした。それはもはや開発されていないようです。
名誉ある
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.