コードレビューとは、ソフトウェアの誤りを修正するために行うソースコードの詳細な検査のこと。ソフトウェア開発プロセスの一貫としして取り入れている開発チーム多いかもしれません。このコードレビューを有効に行うためのチェック項目「Code Review Checklist」が公開されています(Reddit、Hacker News)。
チェックリストとは?
掲載されているチェックリストは、プログラマーが間違えやすい一般的な間違えを見つけ出すためのものとされ、一般、セキュリティ、ドキュメント、テストなどの各カテゴリから数個ずつチェック項目がピックアップされています。例えば一般(General)カテゴリの項目は以下の通りとなっています。
- Does the code work? Does it perform its intended function, the logic is correct etc.
- Is all the code easily understood?
- Does it conform to your agreed coding conventions? These will usually cover location of braces, variable and function names, line length, indentations, formatting, and comments.
- Is there any redundant or duplicate code?
- Is the code as modular as possible?
- Can any global variables be replaced?
- Is there any commented out code?
- Do loops have a set length and correct termination conditions?
- Can any of the code be replaced with library functions?
- Can any logging or debugging code be removed?
「コードはきちんと動作するか?」、「全てのコードが簡単に理解できるか」、「コーディング基準を満たしているか」などの項目が取り上げられています。
まとめ
このチェックリストはあくまでスタートポイントで、このリストをもとにカスタマイズして最適化することが望ましいとされています。自作のチェック項目を作成するときの指針(Yes/Noで答えやすいものなど)も掲載されているので、詳細は同サイトで確認してください。どのようなチェックが望ましいかRedditやHacker Newsで意見が交換されていてこちらも参考になるでしょう。
コードレビューは大変有用ですが、レビュアーによって基準が異なると効果が減少するおそれもあります。チェックリストを有効に使って高品質ソフトウェアをバリバリ作っていきたいものです。