ソフトウェア工学研究の日々

ソフトウェア工学の学術研究を紹介しています。ソフトウェア開発に関する調査と実験が大好きです。

コードレビューはコーディングスタイルも整えている

タイトル通りですが、そんな調査をやってみた結果を5月のリポジトリマイニングの国際会議 (MSR) で発表しました。

ieeexplore.ieee.org

論文の内容をまとめると、以下の通りです。

  • 投稿されたパッチ(Pull Request) の最初の版と、最後の版で、n-gram ベースで見て、対象プロジェクトのコード「らしさ」を比べた。
  • コードレビューの前と後では、後のほうが、対象プロジェクト「らしさ」は上がっているので、レビューで何かしらコードが整えられている。
  • 受理されたパッチと、拒否されたパッチでは、前者のほうが対象プロジェクト「らしさ」が高い。

「コーディングスタイル」というと、ぼやっとした印象がありますが、そういうのも数値化できるのか?、ということを実験的に試してみた論文となっています。結果として、コードレビューはやっぱり機能しているんだなというのを数値で確認できました。スタイルを整えるのもレビューのうちかもしれませんが、レビューでそういう作業をするぐらいなら、パッチ投稿前に、ちゃんとそのプロジェクトのスタイルに合わせてコードを整えておくのも、レビュアーの手間が減るので大事と言えそうです。また、これは相関関係であって因果関係ではないのですが、対象プロジェクトのコードの書き方を守っているほうが、パッチが受け入れられやすかった可能性もあります。