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

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

IEEE Transaction on Software Engineeringの論文Raymond P.L. Buse and Westley R. Weimer: Learning a Metric for Code Readabilityから。120人の被験者が10種類のオープンソースプロジェクトのソースコードの一部(20行等、非常に局所的)をもとに読みやすさに影響を与えることを実験結果から示している。

25種類のメトリクスと読みやすさとの相関を求めている。メトリクスには、コメント行数や予約語の数、空行の数、括弧の数、変数名の長さ、変数の個数などが含まれる。このうち、読みやすさに最も影響を与えやすいメトリクスとして、1位に変数の個数、2位に行数、3位に括弧の数、9位に空行数、15位にコメント行数が示されている。

この論文では、多くの人に短時間で読みやすさが評価できるように、対象ソースコードは小さなものに限定しているようだ。つまり、10種類のオープンソースのソースコードの断片を100箇所取り出し、それを被験者に評価してもらっている。そのせいか、代表的なソースコードメトリクスであるサイクロマチック数(ソースコードの分岐等の閉経路の数)との相関は比較的小さかったそうだ。

この論文で対象としているソースコードのサイズはいずれも小さく、設計要素、2つのクラスやモジュールの間のインタラクション等、勘案が難しいメトリクスもある。論文では、そのことについて詳細には考察されていないが、規模が異なれば結果は異なるだろうから、さらなる調査が必要になるだろう。ただ、これだけの人数でこれだけのソースコードを調査した事例紹介は少ないので、貴重な文献といえるだろう。

読みやすさと関連する話として、プログラミング言語について書かれた興味深い記事(Publickeyの「プログラミング言語の特徴を、実行速度と簡潔さで見る」)もあるので、ここで紹介しておきたい。この記事では、プログラミング言語の簡潔性と実行速度について興味深い結果が示されている。

これらをもとに、ご自身のソースコードを最も読みやすくしている要因は何で、読みにくくしている要因は何か今一度検討されてみてはいかがだろうか?また、ここ(当学のWebページ)で我々の研究グループでも実施しているソースコード読解の題材がある。その意義はここ(Codezineの記事)で紹介している。最終締切りは2009/11/24なので、試してはいかがだろうか?

森崎

森崎
コメント
せのお 2009/11/19 13:42

こん××は。妹尾です。

自分のプログラミング経験のスタートは、何の専門教育も受けない中で、上司からソースを与えられ、「これ、動かない奴。研修がてら、時間掛かって良いから直せる?」いうのを直したり、「これ、これから覚えてもらう言語。これ読んで動き勉強して」なんてことからスタートしたので、空白行で、「ああ、ここで意味合いを分けたいのだな」と察知できることが非常に重要だった気がします。(と言ってもほんの少しの言語しかわかりませんが)

今でも、たまにちょぼちょぼ自分の業務用にExcelのVBAマクロを組みますが、自分の頭の整理のためにも空白行は入れますね。そうしないとまず自分自身が書けない(苦笑)

森崎 2009/11/22 01:23

そうですね。なじみが出てくる前には特に空行に頼る部分も多いですね。

コメントはうまく書いてあると効果絶大なのですが、更新されていなかったり、包括的な説明になっていなかったりするところが難しいんですよね。。


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

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

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


» このブログのTOP

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



プロフィール

森崎修司

森崎修司

ソフトウェア開発の計測/効率化/高品質化を、現場のデータと自身の業務経験をふまえた視点から考察します。現在、国立大学法人奈良先端科学技術大学院大学 助教

詳しいプロフィール

最近のトラックバック
カレンダー
2010年2月
  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            
カテゴリー
エンタープライズ・ピックアップ

news094.gif Twitter流行に異議アリ?
約240人のブロガーが、ITにまつわる時事ネタなどを日々発信しているビジネス・ブログメディア「ITmedia オルタナティブ・ブログ」。その中から今週は「Twitter」「携帯電話」「経済」をテーマに紹介しよう。(2/5)

news094.gif ソーシャルメディアマーケティングの具体的戦術
ソーシャルメディアマーケティングの戦略を立案する場合、ソーシャルメディアの特性を理解した上で、目標数値に落とし込む必要がある。マーケッターが最低限理解しておくべきポイントを整理しよう。(2/5)

news094.gif ワクワクさせてよ――目標設定の極意
目標は、組織全体からチームに与えられるものと、チームが自発的に考えて決めるものがあります。自分たちで決める目標はどのようなものが良いのか、しんこちゃんと一緒に学びましょう。(2/4)

news094.gif ネットでリアルを楽しくしたい
SE出身の企業広報マンでありながら、趣味は落語で憧れの人はインディ・ジョーンズとアナログ全開の栗原さんに、ブログを書く理由やネットからはじまるコミュニケーションについて伺った。(2/2)

news094.gif やり直せる時代の新教育論(4)
ソフトバンクなどさまざまな企業において豊富なビジネス経験を持つオルタナティブ・ブロガーの大木豊成氏に、新たな教育論を話してもらう企画の第4回。(2/2)

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