SourceMonitorを使ってみて

受託開発担当のRyuです。

今回はSourceMonitorを自分のソースコードに使ってみました。
SourceMonitorの使い方については、検索すれば多くのページが見つかると思うので解説はしません。

SourceMonitorは簡単に言ってしまえばソースコードの複雑さを計測するツールです。
複雑なソースコードはそれだけバグを含みやすいですし、テストも大変になります。
早速自分のソースコードをSourceMonitorで計測してみました。

これは数年前に書いたソースの計測結果です。

※左のほうにはクラス名や行数等のデータも表示されます。

結構大きな数値が出ました。
Complexityは複雑さ、Depthはネストの深さを表します。この2つの数値が小さいほど単純で綺麗なメソッドだと言えるでしょう。
SourceMonitorはメソッド別に測定結果を出してくれるので、早速どのメソッドが一番複雑なのか確認してみます。

※左のほうにはメソッド名が表示されます。

該当メソッドはtry-catchとforとifが結構入り乱れていて、行数も80行近くあり確かに複雑そうです。
書いた当時は結構綺麗に出来たかなと思っていたのですが、今見直してみると結構荒が目立ちます。
Max Complexityが15を超えているメソッドは作りの見直しが推奨されているそうです。
今回は12なのでなんとかセーフと言ったところでしょうか。

次は最近書いたソースの計測結果です。

これはMax Complexityが6と過去のソースの半分の複雑さでした。
規模や要件の違いもありますが、昔に比べ少しは綺麗に書けているのかなと思います。

たまには自分のソースコードを見直してみるのも良いのではないでしょうか。