プロジェクトメンテナーの立場にあるとき、提出されたコードが何らかの理由で気に入らない場合はどうしたらよいだろうか。Red Hatのソフトウェアエンジニアが、コードレビューを行うに当たって念頭に置くべき10のヒントを解説した。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
Red Hatでソフトウェアエンジニアを務めるデビッド・ロイド氏は2019年7月8日(米国時間)、コードレビューを行うに当たって念頭に置くべき10のヒントを同社の開発者向け公式ブログで解説した。プロジェクトメンテナーの立場にあるとき、提出されたコードが何らかの理由で気に入らない場合に役立つ指針だ。コントリビューター側としても参考になる。
これらのヒントは、客観的で的を射たレビューを行い、プロジェクトとその参加者を前進させるという観点からまとめられている。
望ましい結果になるように、簡潔に懸念事項を述べたり、質問したりする。
心に留めておいた方がよい意見もある。礼儀正しくできないのであれば、関与しない方がよい。
問題解決の方法について、提出されたコードとは異なるアイデアがあったとしても、建設的に関われば、その2つの選択肢より、さらに良い解決策が見つかるかもしれない。
明らかなことを発言してもよいが、恩着せがましく言ったり、小言を挟んだりしない。
自分にとって明白だと思えることがあっても、相手にはとってはそうではないかもしれない。代替アプローチを提案したり、有効な例を挙げたりすると、理解の共有に役立つ。
提出されたコードが品質の最低基準を満たしていないこともある。それを指摘しても問題はないが、その際に相手を尊重してもコストはかからない。
提出されたコードが長すぎて適切にレビューできない場合、作成者にそれを知らせても問題はない。
「〜していただけますか」と言葉を加えて丁寧に頼めば、こちらが作成者の時間についても尊重していることが伝わる。
以上のことを念頭に置いても、まだ受け取ったコードが気に入らず、理由も分からない場合は、我慢しなければならないのかもしれない。だが、「私はこのコードが良いと思えないが、理由が分からない。コードについて話すことはできますか」と、作成者に対話を呼び掛けるのは問題ない。
こうした対話を求めるのは理にかなっており、レビュワーとしての誠実さの表れでもある。対話によって少し時間はかかるかもしれないが、多くの場合、それだけの価値がある。一方が説明し、一方が聞くことで、両者が学ぶことになるからだ。
ロイド氏が今回のヒントを公開した理由は、コードレビューをやりとりする時間が最も負担になるからだという。何らかの理由でメンテナーが変更を好まないプロジェクトに投稿するときに、このようなことがよく起こるという。
10のヒントを生かさないとどうなるか。最善の場合でも、無意味な議論に時間を浪費することになり、最悪の場合には、プロジェクトにおける貢献や多様性をぶち壊しにしてしまい、敵対的でエリート主義的な環境を作り出してしまうという。
ロイド氏によれば、「明らかに……」「なぜあなたは……」といった言い回しを避けることはもちろん、コードレビューは客観的かつ簡潔であるべきだという。可能な限り確実性を扱うべきであり、政治的だったり、感情に流されたりする議論であってはならない。技術的な議論を心掛けなければならず、常にプロジェクトを前進させて、プロジェクトはもちろん、参加者をも高めることが目標だ。
Copyright © ITmedia, Inc. All Rights Reserved.