プロが教える店舗&オフィスのセキュリティ対策術

Javaを利用してシステム開発をしております。最近Eclipseを使うようになり、今日Matricsプラグインで過去に開発したプログラムを分析しました。すると幾つかのプログラムで『サイクロマチック数』が閾値(4)を超えているのが判明しました。プログラムを修正したいのですが、サイクロマチック数とは何か判りません。もし、具体的にどうやって算出すればよいのか判れば教えて下さい。

A 回答 (1件)

ネットで調べた限りでは、


---

単にソースコードの「通り道の数」みたいです。
分岐がないときは1。
if分岐が1つあれば2。

http://www.linkclub.or.jp/~tumibito/soft-an/metr …
http://en.wikipedia.org/wiki/Cyclomatic_complexity
(※「Key Concept」の段落がわかりやすい)
---

サイクロマティック数は

・ソースコードテストの量
・ソースコードの複雑さの度合い

などを表すと言えるみたいです。
    • good
    • 0
この回答へのお礼

kacchann樣、有難うございました。教えて戴いたサイトを読んだ後、私の作ったプログラムを手計算した数とMatricsが示しているサイクロマチック数が一致しました。

1つのメソッド内で同じレベルに沢山のif文をおくとサイクロマチック数が大きくなり、一方if文がネストして増える分にはさほどサイクロマチック数は増えないことが判りました。確かにサイクロマチック数が多いとテストケースが複雑になります。

プログラムを作るときは、なるべくメソッドを単機能にしておくことが大切ということを改めて理解出来ました。

大変助かりました。有難うございます。

お礼日時:2006/09/08 11:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!