メトリックの一部の本はあなたの大学の図書館は、おそらく含まれていることをソフトウェアメトリクスとソフトウェア品質工学の指標とモデルを。それらの2つはあなたに出発点を与えるはずです。産業界では、どのような種類のメトリック測定プログラムも持っている企業はほとんどありません。
ほとんどの企業には何らかの方法がありますか、意味のあるメトリックを測定するために、エレガントなプログラムである必要はありませんか?
Visual Studioには、始めることができるいくつかのコード分析ツールが含まれています。ほとんどの企業には、最悪の測定基準を測定するためのコードさえありません。「それを成し遂げるだけ」が業界の圧倒的な原動力であるように思われ、保守性の懸念は「今年ボーナスをもらえるのか」というマネージャーの懸念に非常に短い注意が向けられています。そして「これは私が約束した時間内に行われますか?」毎年変更が加えられて年々持ち越される製品であっても、これらの2つの懸念は、保守性とバグの検出/防止に関する開発者の懸念を小さくします。
プロジェクトの範囲と見積もりを絞り込むのに役立つ単一または組み合わせのメトリックはどれですか?
私はそれを見つける循環的複雑度との結合がどのようにバギーやいかに難しいコードがなります維持するための強力な指標です。循環的複雑度が20前後の場合、テストすることはほとんど不可能であり(コードには最大2 ^ 20のパスがあるため)、より小さな部分に分解する必要があります。複雑さを排除することはできませんが、より扱いやすいチャンクにスライスすることはできます。
見積もりを求めている場合は、関数 ポイントを調査する必要があるでしょう。
コードカバレッジ%が各反復を大幅に低下させています。問題について開発者に警告しますか
ほとんどのマネージャーは、チェックインの数と修正されるバグの数を気にしていることがわかりました。私の現在のマネージャーはユニットテストに反対しており(彼は時間の無駄だと考えています)、以前のマネージャーは、ユニットテストに費やされた時間はそもそもそれを書くために費やされるべき時間であると感じていました。
開発者が使用する標準的な議論は、何かを測定する場合、それはあなたが得るものだけであるということです。この議論は、唯一のメトリックがコード行であるという考えから来ています。