※12/10追記
Google Developers Japanブログにて紹介した記事全体の翻訳が公開されています。(当然ですが)より正確な翻訳になっていると思いますので、是非ご覧ください。

こんにちは、あのぶるです。
今回は先日Twitterでコードレビューが話題になった際に出会った「Googleのコードレビューの心得」的記事を紹介しようと思います。

元の記事はこちら。

記事で述べられている内容を大雑把に説明すると、「お互い相手をリスペクトし、丁寧なやりとりを心がけましょう」「判断に至った論理的根拠やコンテキストを示しましょう」「コードの作者ではなく、コードそのものに対して議論をしていることを忘れないようにしましょう」と言った感じの内容です。
職場で張り出せるようにと新設にも印刷用フォーマットが用意されているほど短い文章ですし、大意を掴むレベルであればあまり難しくないので、英語が苦手な方も是非チャレンジしてみてください。

……と言うだけだと少々味気ないので、というわけではないのですが、抄訳を作ってみました。もし参考になればうれしいです。

※こちらの翻訳については一切の責任は私(あのぶる)にあります。翻訳そのものについて問題があった場合はリンク先のコメント欄にてお知らせください。

ソースコードなどに対する厳しい指摘のことを比喩的に「マサカリ」と呼ぶ表現も定着して久しいですね。
ここからは余談ですが、Twitterで話題にもなっていた「優し(くな)い言葉」による指摘がなぜ度々論争の種として取り上げられるのか、という点について個人的な見解を述べたいと思います。

個人的な意地悪でない限り(そうであると信じたいですが)、コードレビューやそれに類似するシチュエーションにおいて強い言葉を使いがちなのは「バグを作り込んでしまい意図しない動作が起きてしまう可能性がある」「処理パフォーマンスの問題が発生してそもそも動作しない懸念がある」など一歩間違えれば大問題に繋がってしまうという危機意識から来ていると考えています。また、「問題があるならそれを曖昧にしてはいけない」という考えから「○○すべき」のような断定的な表現が多く用いられるため、この手のコミュニケーションに不慣れな人にとっては伝える側が意図するよりかなり強いニュアンスを持って受け止められがちという側面もあるようです。
だからと言って相手へのリスペクトに欠ける発言が許される訳ではないのですが、問題のあるコードがベストプラクティスであると判断されてしまい、広く使われてしまうのは非常に危険なことなのです。実際、世の中には問題のあるコードが一見「クールな解決策」そうな顔をしてあちこちに転がっているので、情報の取捨選択にはくれぐれも気をつけてください。
またそのようなコンテキストに慣れていて、加えて相手に悪気はないと分かっていても心身の体調次第で強く刺さってしまうことはあります。レビューをする側・受ける側どちらの立場であっても十分に気をつけたいところです。

自分の意図を正しく伝えようとして必要以上にパワーのある表現になっていないか、筆者自身も日々問いかけたり、過去を振り返って反省したりしながら取り組んでいます。
「自分はどんな表現を使おうと問題ないと考えている」という人もいるかもしれません。とはいえ、人間どうしの会話も一種のプロトコルであり、「あなたを貶す意図はありません」ということが明確に伝わる表現を選んで使うのもスムーズな意思疎通には重要なことではないでしょうか。

それでは、レビューというツールがより有意義に活用されることを願っています!

The following two tabs change content below.

あのぶる

Software Engineer
杜の都で育ち、赤べこの街でコンピュータのいろはを学んだソフトウェアエンジニア。今はスマホゲームのためのWebAPIを作るお仕事をしています。最近はすっかりガルパンおじさん化。