IT業界でベンチャービジネスの支援をしている執筆者が日々の活動ログと感じたことを、徒然なるままに書き綴っていきます。

中井悦司氏の「グーグルのクラウドを支えるテクノロジー」第42回「Googleのソフトウェア開発におけるコードレビューの役割

»

私が編集支援している 中井悦司氏の「グーグルのクラウドを支えるテクノロジー」第42回「Googleのソフトウェア開発におけるコードレビューの役割」がCTC教育サービスで公開されました。

興味がある方はご覧ください。

###

はじめに

 今回は、2018年に公開された論文「Modern Code Review: A Case Study at Google」をもとにして、Googleのソフトウェア開発におけるコードレビューのプロセスを紹介したいと思います。Googleでは、オープンソースの開発で広く用いられる、変更リスト(Change List:CL)単位の軽量なコードレビュープロセスを採用しており、この論文では、1回のレビューにおけるコードの変更量や平均的なレビュアー数についての興味深い統計データも紹介されています。

コードレビュープロセスの概要

 Googleのソフトウェア開発におけるコード変更のプロセスについては、第20回の記事を参考にしてください。ソフトウェア開発者は、リポジトリ上のソースコードをローカルのワークステーションに(仮想的に)クローンした後に、ローカルでコードの修正を行います。その後、修正部分についてのコードレビューを経て、リポジトリに対するコミット(変更の反映)が行われます。

 一般に、ソフトウェア開発のコードレビューにはいくつかのスタイルがあり、たとえば、「コードインスペクション」と呼ばれる手法では、ソフトウェアのすべてのソースコードを最初から最後まで人間の目でチェックして、その動作を論理的に検証していきます。このような徹底的なレビュー手法については、学術的には一定の有効性が認められているものの、一般的なソフトウェア開発の現場では、時間と手間がかかりすぎるという理由で、それほど広く普及することはありませんでした。オープンソース・ソフトウェアを始めとする多くのソフトウェア開発においては、コードの変更部分を中心にレビューツールを用いてコメントをやり取りする、ややインフォーマルな手法が広く用いられています。

この続きは以下をご覧ください
https://www.school.ctc-g.co.jp/columns/nakai2/nakai242.html

Comment(0)

コメント

コメントを投稿する