森崎修司の「どうやってはかるの?」: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なので、試してはいかがだろうか?

森崎

Special

- PR -
コメント
せのお 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



プロフィール

森崎修司

森崎修司

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

詳しいプロフィール

カレンダー
2012年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 29      
カテゴリー
エンタープライズ・ピックアップ

news094.gif 富士通元社長の山本卓眞氏が残した次代へのメッセージ
富士通の社長、会長を務めた山本卓眞氏が亡くなった。哀悼の意を込めて、日本のIT産業界の大御所が残した次代へのメッセージを紹介しておきたい。(2/6)

news094.gif Facebook就活はもう古い?
約260人のブロガーが、ITにまつわる時事情報などを日々発信しているビジネス・ブログメディア「ITmedia オルタナティブ・ブログ」。その中から今回は「就活」「都心の雪」「ソーシャルメディア」などを紹介しよう。(2/4)

news094.gif 東北をコットンの生産地としてブランディングしたい──リー・ジャパン・細川取締役
塩害に強い綿の生産で東北に新たな産業を作りたい。オーガニックコットンの採用など、環境負荷を下げるジーンズ生産に取り組んできたリー・ジャパンの新たなチャレンジとは──。(1/30)

news094.gif 東北から始まるイノベーション
企業のICTを活用と若手IT技術者による東北発のイノベーションが、中長期的な震災復興の鍵となる。(1/27)

news094.gif 貧困国の雇用を創出する印刷屋、丸吉日新堂印刷の挑戦
全国から約2万7000件の名刺制作を受注をする札幌の小さな印刷会社の成功の秘密は、地道な社会貢献にあった。(1/16)

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

Special

- PR -

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