質問
最近、Eclipse Metricsプラグインをインストールし、プロジェクトの1つのデータをエクスポートしました。
これらの素晴らしいグラフを作成することはすべて非常に良いことですが、それらがすべて意味するものをより深く理解したいのです。メトリックの定義は、それが実際に何を意味するのかを伝えることだけになります。
すべてのデータの意味をよりよく理解し、必要に応じてコードを改善する方法を理解するのに役立つ良いリソース、書籍、ウェブサイトなどを知っている人はいますか?
コードの行やメソッドごとの行ではなく、Efferent Coupling、Cyclomatic Complexityなどに興味があります。
解決
コードメトリック(ソフトウェアメトリックと呼ばれることもある)が提供するとは思わない改善できる場所に関する貴重なデータ。
コードメトリックを使用すると、1時間でどれだけのコードを記述するかなどを確認できますが、それらを超えて、記述されたコードの品質、ドキュメント、およびコードカバレッジについてnadaに伝えることができます。彼らはあなたが実際に測定できない場所を測定するために、ほぼ一週間の試みです。
コードメトリックは、より困難な問題を解決するプログラマを区別します。なぜなら、彼らは明らかにコーディングを減らすことができたからです。しかし、彼らは困難な問題を解決し、ジュニアプログラマーが大量のスクラップコードを削除するのは良さそうです。
メトリクスを使用する別の例は、非常に人気のある Ohloh です。彼らは、メトリックを使用して、オープンソースプロジェクトに価格を設定します(行数などを使用)。これは、ご想像のとおり、地獄のように欠陥がある試みです。
ウィキペディアのエントリはトピックに関する全体的な洞察を提供しているとすべて言っていますが、本当に素晴らしいウェブサイトまたは本でより支援的な方法であなたの質問に答えないで申し訳ありませんが、あなたは私が巨大ではないというドリフトを得たに違いありませんファン。 :)
改善に役立つものは、継続的な統合であり、コード、ドキュメントなどに関してはある種の標準に従うことです。それはあなたが改善できる方法です。メトリクスは会議の目を楽しませてくれるだけです-「既にコーディング済みのコードを見てください」。
更新
わかりました。まあ、遠心性カップリングまたは循環的複雑さでさえも、何かが間違っていることを示すことができます-それは間違っている必要はありません。クラスをリファクタリングするための指標になる場合がありますが、いつ通知するかという経験則はありません。
500行以上のコード、リファクタリング、または DRYプリンシパルほとんどの場合、より適切です。時々それはそれと同じくらい簡単です。
循環的複雑度がフローチャートにグラフ化されるため、目を見張るものになります。ただし、慎重に使用してください。
他のヒント
私の意見では、メトリックはコードベースの問題点を見つける優れた方法です。また、改善に時間を費やす必要がある理由を上司に示すのにも役立ちます。
これは私がそれについて書いた投稿です: http:/ /blog.jorgef.net/2011/12/metrics-in-brownfield-applications.html
お役に立てば幸いです