BT

Crap4Jがコード品質決定のためのアルゴリズム使用を追求

| 作者: Ian Roughley フォローする 0 人のフォロワー , 翻訳者 編集部 フォローする 0 人のフォロワー 投稿日 2007年10月25日. 推定読書時間: 2 分 |

新たなプロジェクトCrap4Jのゴールは明確である。

コードが使い物になるかどうかを見極めるのに、100%正確で客観性のある方法なんて存在しないのです。しかしながら無駄に複雑で込み入った、または他の誰かによって記述されたコードが”これは使い物にならない!”という一言を誘い出すものであることを、私たちの施設はリサーチ結果と実証済みの証拠で裏付けています。そして、もしコードを見ているその人がそのコードの実行を維持しなければいけないのなら、その一言は”全くなんて代物だ!!”というものに変わるのは良くあることです。

最初の反応を幅広く見るともっと正確な調査が必要になってくる。Crap4jは複雑性とテストコード範囲を統合した単一の数字を提供する。

Javaメソッドmが与えられると、mのCRAPは下記のように算出されます。

CRAP(m) = comp(m)^2 * (1  cov(m)/100)^3 + comp(m)

comp(m)がメソッドmのサイクロマティック複雑性であり、cov(m)が自動テストに提供されたテストコード範囲であるところです(例:マニュアルQAではなくJUnitテスト)。サイクロマティック複雑性は良く知られたものであり、またメトリックとメソッド内の1つ以上の独特の判定に関する計算に広く使われます。コードをカバーするために、我々は基礎的なパス範囲を使います。

メトリックと同様にこの数字を扱うときにはやみくもではなく最善の注意を払わなければならないが、それは変化を促進するための出発点ともっとアップデートが必要なコードの場所を指摘する方法を提供する。

低レベルのCRAP数字はそれは複雑すぎないので、またもしくは自動で反復可能なテストによって十分に保護されているので、比較的低変化、低メンテナンスリスクのコードを表します。高レベルのCRAP数字は高複雑と低複雑の有害なコンビネーションのために変更が危険であるコードを表します。

Crap4はhttp://www.junitfactory.com/crap4j/update/からダウンロード可能であり、現在はEclipseのプラグインとなっている。更なる詳細に関してはJUnitFactoryが導入記事(source)を提供している。

原文はこちらです:http://www.infoq.com/news/2007/10/crap4j

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT