(2021/05/27 更新しました)

仕事でも、メンターとしても、コードレビューを行っていますが、スムーズにレビューを行うためにいくつかお作法というか、コツがあります。今後レビューをお願いするときには、以下のことを配慮して依頼すると、スムーズにレビューしてもらえるかなーと思います。

コードのフォーマットを揃える

  • コードのフォーマットをレビューアーと揃えておくと、スムーズにレビューが行えます。まずは、言語やプラットフォームの標準や、デファクトスタンダードに従うことをオススメします。わからない場合はメンターに聞いてみましょう。
  • とはいえ好みもあるので、そこはレビューアーと相談します。例えばインデントだと、Space なのか、Tab なのか、2 つなのか、4 つなのか、などをすり合わせておきます。
  • ルールを設定ファイル等で定義した上で、それを共有するとなお良いです。EditorConfig などを導入すると、エディタが異なる場合でも同じフォーマットに揃えてくれます。
  • リンターやコードフォーマッターなどを導入するのも良い方法です。Web フロントエンドだと、ESLint が有名なリンターです。コードフォーマッターだと Prettier などがあります。

デバック環境構築のドキュメントを書く

  • どのようにローカル環境でデバッグするかを README に記載しておくと、スムーズにデバッグが開始できます。
  • インストールすべきツールとそのバージョン、実行手順、正しく動作したことを確認する方法を記載しておけば、ひとまず大丈夫だと思います。質問されたら、随時追記しておくと良いでしょう。
  • README は、プロジェクトルートに README.md という名前で保存し、マークダウンで記載すると、GitHub のページに表示されます。

エラー/ワーニングがない状態でレビューを依頼する

  • コンパイラやリンターのエラー/ワーニングを極力なくして、なるべく動作する(コンパイラが通る)状態で共有すると、課題が明確になって良いです。もちろん、エラーの解消を依頼する場合はこの限りではないです。
  • 一度に多くの変更を行うと、あとでエラーをとるのが難しくなります。エラーが増えないように少しずつ実装するのがコツです。

不要なコードは極力残さない

  • 動作とは関係のないコードは極力残さず、簡潔なコードにすることをお勧めします。
  • あとで使うかもしれないコードを残したい気持ちもわかりますが、Git が使えれば、別のブランチで残しておいたり、過去に戻ることもできるので、思い切って削除しましょう。
  • 不要なコメントアウトも、たくさん残っているとコードの見通しが悪くなるので、極力削除します。
  • Git が使えない場合などでは、別のファイルにメモとして残しておいても OK です。極力コードは簡潔に保ちましょう。

コメントを書く

  • 変数や関数だけでも、何を目的としているのかをコメントとして書くだけで、他の人が理解しやすくなります。
  • 困っていることや自信がないこと、あとで対応することなどもコメントで記載しておくと、レビューアーが状況・背景を理解しやすいですし、あとで見る自分のためにも有効です。
  • ドキュメントのように完璧さを求めると疲れるので、頑張りすぎないのもポイントです。

共有方法

  • GitHub や Bitbucket などが使えれば、プルリクエストを送ってレビューしてもらったり、URL でコードを指定できるので便利です。Private リポジトリでも、コラボレーターとしてレビューアーを追加すれば共有することができます(GitHub のドキュメント)。
  • GitHub 等を使えない場合は、ファイル一式すべてを Zip 等でアーカイブしてから共有します。たとえ1つのファイルだけしか変更していなくても、レビューアーが手元でマージする際にミスしてしまうこともあるので、動作するプロジェクト単位で Zip して共有する方が良いでしょう。
  • 隠しファイルなどが抜けてしまうので、必ずフォルダごと Zip します。
  • ローカルに保存した外部ライブラリなどはサイズが大きいので、除外して共有します。例えば Node.js だと、node_modules/ ディレクトリです。GitHub でシェアする場合は、.gitignore に追加して、共有しないようにします。
  • アカウント情報やパスワードなどは、共有可能なテストアカウントなどを設定すると良いです。

コードレビューの経験がない方は、最初にレビュー依頼方法についてメンターに相談してみると良いと思います。

ちなみに、私もコードレビューのプランをご用意しておりますので、ぜひご検討ください!
https://menta.work/plan/1114