
突然ですが、今まで過ごしてきた中で、お互いに問題点を指摘し合うことで成長できた経験はないでしょうか?プログラマーであれば「コードレビュー」と呼ばれる取り組みが当てはまります。一体どういうものなのか、メリットと気をつける点も合わせてご紹介します!
コードレビューとは
コードレビューとはソフトウェア開発上の工程で、プログラムのコードを記述者とは異なる人が確認し、修正点などを記述者に伝えることを指します。記述者本人による見直しや検証では修正点が見つからない場合があるので、別の視点からプログラムを検証してもらうことが目的です。
コードレビューをするメリット
チーム全体のコード品質を保つことができる
ゲームプログラマーは多くの人手が必要になります。よって、コードレビューをすることで全体の意思疎通を図り、全体の品質を一定にできます。また、全体の品質を一定にすることで修正作業が捗り、全体のミスも少なくなるでしょう。
プログラマー個人のスキルアップが期待できる
コードレビューはコードの勉強会のようなものです。「自分も周りと同じミスをしていたから今度から気をつけよう」や、「あの人の書き方は効率的だから真似してみよう」といったノウハウを吸収できます。
特に、ベテランプログラマーと新人プログラマーがチームとなってコードレビューをすることで、ベテランプログラマーは教えながら自分のコードが本当に正しいのか再確認でき、新人プログラマーは実務経験を経ながらコードを学ぶことができるので、一石二鳥です。
コードレビューでよく見るべきポイント
コードレビューをやってみようと思っても時間がかかってしまうので、導入に踏み切れないという方がいるかもしれません。ここでは、より効率的にコードレビューを行う方法として、どこを重点的に見れば良いのかについてご紹介します。
チーム全体で決められたフォーマットに沿って書かれているか
プログラムは一回作って完成ではなく、何回も修正を加える必要があります。その際、チーム全体でコードのフォーマットを統一することで修正業務がしやすくなります。さらに、コードレビューの際も比較や指摘がしやすくなるので、フォーマットを統一してプログラム作業全体の効率化を図りましょう。
コード自体が読みやすいか
ざっと全体を見てある程度のプログラム経験者であれば、エラーが起きやすい書き方をしているということがすぐに分かります。例えば、空白が全くないようなコードや、コードが長すぎる場合が当てはまります。そういった初歩的なところからでも良いのでお互いに指摘することが重要です。
コードにエラーがないかどうか
コードにエラーがないかどうかを確認するのもコードレビューで一番重要なことです。ただ、1文字1文字確認する必要があるので、非常に時間がかかります。そこで活用できるのが、「自動コードレビューサービス」です。正確性が高いわけではありませんが、コードを入力するだけでエラーがあるかどうかが判別できるので、所々で使用するだけでも時間短縮を図れます。
コードレビューをする上で気を付けておきたいこと
コードレビューはお互いのスキルアップを目指す上で重要ですが、熱くなりすぎるとつい強い口調で指摘してしまってレビューされる側のやる気が下がってしまう場合があります。そのため、コードレビューにはプラスの面ばかりでなくマイナス面もあるということを認識しておく必要があります。
コードレビューをする際に気を付けるべきことを3点ご紹介します。
その人の努力や人格を否定しない
コードレビューで問題点を指摘する際、レビューされる側に対して厳しい言葉でコメントすると、自分の人格が否定されているように受け取られる場合があります。そのため、指摘する際はコード上の修正点や改善点を念頭においてレビューするようにしましょう。メモや文章で指摘する際も、ニュアンスや表現を工夫することで責められていると感じることはなくなります。
また、自身の感情に任せてその人の努力や人格を否定することはパワーハラスメントに繋がる可能性があるので絶対に辞めましょう。あくまでもレビューする側はレビューされる側を敬ってコードレビューを行うことを心がけてください。
問題点を具体的に説明する
問題点を指摘されてもその根拠があやふやの場合や、何が間違っているのかを説明しない場合、レビューされた側もどのように修正すればよいのか分からなくなってしまいます。さらに、根拠がなければ相手に不信感を持たせてしまう可能性もあります。上手く言葉で説明できない場合は一緒にコードを作成してみても良いかもしれません。実際にコードを書きながら教えることができるので、言葉で説明できないことも補うことができます。
指摘だけではなくて褒めることも大切
レビューされる側は、悪い点ばかりを指摘されるとモチベーションも下がり、自分は何もできないと自己嫌悪に陥ってしまう可能性もあります。褒められて嬉しくないなんていう人はいませんよね?褒め合うことでチーム全体の士気も高まりますし、良好な人間関係を築くことができます。
まとめ
コードレビューは時間がかかる分、コードの品質を保つ以外にもゲーム開発人材を育てるという面でゲーム開発業務に貢献できます。また、チーム内のコミュニケーションの場としても位置づけることができ、ゲーム開発には欠かせないチームワークを育むことができるでしょう。
最近では「コードレビューツール」を使うことで、Web上でコードレビューを行うことができ、場所や時間の制約が無くなりつつあります。是非、ゲームプログラマーの間でコードレビューを導入してみてください!
ゲームクリエイターのお仕事探しならConfidence Creator
『Confidence Creator』はゲーム・エンタメ業界に特化した人材事業を展開する株式会社コンフィデンス・インターワークスが提供する総合人材(派遣・無期雇用派遣※・紹介)サービスです。
ゲーム・エンタメ業界の大手・上場企業を中心に250社以上の取引実績を持ち、常時月間300件以上の新規案件を保有。 Confidence Creatorにしかない非公開案件も多数ございます。
これまでゲーム・エンタメ業界で築いてきた信頼関係の強さを活かし、制作現場を熟知したコンサルタントがゲーム・エンタメ業界で働くみなさまのご経歴やご希望、これからのキャリアビジョンに応じて最適なマッチングを行います。
ゲーム・エンタメ業界でのキャリアアップを目指す方も、ご自身のキャリアについて漠然と悩みを持っている方も、まずはお気軽にご相談ください!
※無期雇用派遣とは?
株式会社コンフィデンス・インターワークスの「正社員」として雇用契約を結びますが、実際の就業先は、ゲーム・エンタメ企業での常駐勤務となります。「正社員」としての安定した雇用がありながら、大手企業をはじめとするさまざまなプロジェクトに携わりスキルを積むことができますので、成長意欲の高い方におすすめの働き方です。