森崎修司の「どうやってはかるの?」:ITmediaオルタナティブ・ブログ (RSS) 森崎修司の「どうやってはかるの?」

計測できそうでできない多くのこと。エンピリカル(実証的)アプローチで。

IBMdeveloperWorksに寄稿した記事「コードレビューの道具、使っていますか?」が6/19~25のランキング1位になった。今週はそのランキングをここからみることができると思う。この記事で時間が足りず書けなかったことがいくつかある。そのうちの1つをこのエントリで紹介したいと思う。

記事には「ソースコード静的解析ツールでレビュー箇所を見極める」という見出しの中で静的解析ツールを使って重点的にコードレビューすべき点を特定する、という内容を書いている。これに加えて、コードを書きながら静的解析を実施すればさらに効果が高まるということを書きたかった。(が、時間が足りず書けなかった。。)

具体的には、ソースコード編集ツールやIDEでソースコードを書いているうちから都度メトリクスを測り、複雑なコードになっていないか等のチェックを書きながら進めていく。必ずしもソースコードを編集しながらやる必要はなく、Jakarta Mavenのようなビルド管理、構成管理ツールで、ソースコードをチェックインするたびにメトリクスを計測し、その都度メトリクスを見るパターンもある。

都度メトリクスを測り、見ることで、自身のコードの保守性、拡張性、テスト容易性を確保するために役立つ。たとえばソースコードメトリクスとして有名なサイクロマチックナンバを計測すれば、不必要に複雑な分岐を作っていないかという点を比較的客観的に調べることができる。他にも外部からの参照が非常に多い部分かどうかを測るメトリクスがあり、その値が高い部分を編集していれば、潜在的変更リスクが高い部分を編集していることがわかる。

ソースコードメトリクスはソースコードの特徴を数値化したもので、この値からすぐに不具合箇所がわかるというようなものではないが、そこから得られるヒントは大きい。

元の記事に書いたようにまずはコードレビュー実施中、あるいは実施直前の計測、それができるようになればコーディング中での計測とそれに応じた対応をとれば、早期に潜在的問題を修正できる可能性が高くなる。

森崎

Special

- PR -
コメント

コメントを投稿する
メールアドレス(必須):
URL:
コメント:
トラックバック

http://app.blogs.itmedia.co.jp/t/trackback/77444/20512135

トラックバック・ポリシー


» このブログのTOP

» オルタナティブ・ブログTOP



プロフィール

森崎修司

森崎修司

ソフトウェア開発に携わる方に気づきを提供することを目指し、ソフトウェア開発の定量化/効率化/高品質化の動向を国内・海外、実務・研究から多面的に紹介し、研究者の視点、自身の業務経験をふまえた視点から考察します。現在、静岡大学 助教

詳しいプロフィール

カレンダー
2012年5月
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
カテゴリー
エンタープライズ・ピックアップ

news094.gif ストレス社会との付き合い方
政府がメンタルヘルス検査の義務化を検討しています。しかしうつになった後だけではなく、なる前の予防も大切なのではないでしょうか。(5/24)

news094.gif 「思いやり経営」のススメ
産学・NPO連携の民間団体が先頃、「思いやり経営」という観点で評価した指標や企業ランキングを発表した。企業のマネジメント力を知る手立てとして注目されそうだ。(5/24)

news094.gif テレワークが労働者のマインドを変える
テレワークが普及すると、労働者の評価は従来の「時間×生産性」から「成果」へと変化する。時間や場所を自分の裁量でコントロールできる変わりに、成果を最大化するために労働をマネジメントする能力とマインドが労働者には必要になる。(5/23)

news094.gif 求む、クックパッド男子
高身長も高学歴も高収入もいらない。私が男性に求めるのは「料理の腕」だけです。(5/18)

news094.gif 37歳の常識――我々は一生学び続ける
学び続けなければ衰退するのみだ。(5/18)

オルタナティブ・ブログは、専門スタッフにより、企画・構成されています。入力頂いた内容は、アイティメディアの他、オルタナティブ・ブログ、及び本記事執筆会社に提供されます。

Special

- PR -

サイトマップ | 利用規約 | プライバシーポリシー | 広告案内 | お問い合わせ