2009-06-09 13 views
11

私はC++で書かれたかなり新しいコードベースを持っています。すでに私は、プロジェクトに忍び寄っているいくつかの悪い習慣(1000以上のコード行を持つクラスファイル、多くのパラメータを持つ関数、...)を見始めています。C++のコードメトリックと警告

ビルドにフックしてコーディングの慣れがないかどうかを確認できる自動化されたツールを使用して、これらのツールをすぐに使用したいと考えています。あなたはそのようなツールについてどんな提案をしていますか?私はメトリクスに興味がありますが、実際には37のパラメータで機能を強調する文言的な種類の糸くずみにもっと興味があります。

+0

重複:http://stackoverflow.com/questions/93260/a-free-tool-to- check-cc-source-code-coding-of-coding-standards-against-coding-standards- –

答えて

3

他のものと同様に、私はスタイルを判断するツールが不明です。しかし、CCCCは、問題点を見つけるのに役立つさまざまな指標を生成します。循環的複雑さのような指標は、問題点がどこにあるかを定量的に証明します。欠点は、これらのメトリックを、独自に採用または作成するスタイル・ガイドに組み込む必要があることです。

+1

これまでのところ、CCCCは時代遅れです。彼らのウェブサイトの最新の活動は2002年からで、Microsoft Visual Studio 2003フレームワークのみをサポートしています。ユーザーフレンドリーではなかったので、私はまたそれを実行するトラブルがあった。 Torialが提案したように、私は非常にお勧めします。SourceMonitor:http://www.campwoodsw.com/sourcemonitor.html – ForceMagic

+1

@ForceMagic:SourceMonitorはWindowsを必要とするようだから、CCCCはまだWindowsを実行していないときに実行可能な選択だと思う。また、Jenkinsプラグインをビルドに取り込んで、回帰を視覚化するプラグインもあります。 –

6

申し訳ありませんが、スタイルに関してはお手伝いできませんが、C++をサポートする優れた指標ツールはfree: SourceMonitorです。特に

、あなたがなどが良い(私はパラメータの数よりも悪いプログラミングの練習のためのより多くの価値を見つける。)循環的複雑度などの情報だけでなく、コードの行、コメントの割合、最長の機能を、取得します

試してみてください。また、非常に高速です。

+1

このツールを使用する場合は、* Modified Complexity *を試してみてください。 SourceMonitorヘルプを引用しています。*変更された複雑度メトリックオプションは、プロジェクトに追加された新しいチェックポイントの複雑度メトリックの定義方法を変更します。このオプションを有効にすると、SourceMonitorは各switch文の複雑さに1を加えて複雑度メトリックを計算します。 switchステートメント内のcaseステートメントは、他のメトリックに対して解析されますが、caseステートメント自体は複雑さに寄与しません(このオプションが有効でない場合と同じように)*。 – Wolf

-1

-Wallコンパイラオプションを使用して常にコンパイルし、警告が持続する場合にチェックインするコードがないことを確認してください。

this oneのような標準スタイルを見つける。

+1

'-Wall'は、OPが述べた問題(長い関数、高い循環的複雑さ)に対して自動的に警告しません。 –

+0

あなたの* this one *リンクが壊れているので、文全体が役に立たなくなります。たぶんあなたは[Google C++スタイルガイド](https://google.github.io/styleguide/cppguide.html)を参照していますか? – Wolf

1

メトリックス社++は、このユースケースと一致し、あなたはおそらくに興味があるいくつかの指標を持っているここでそれを確認します。http://metrixplusplus.sourceforge.net/

+1

あなた自身の製品を推薦しているときに、それを非常に明示的にすることは、通常、良い形であると考えられています。 –

+0

ありがとうございます。これについて知り、次回にやります。答えはまだ質問にマッチします。 – Andrew