プログラミングスキルを効率よく上げる方法はコードレビュー

ベンチャー企業でプログラマーとして働いたことのある人なら、コードレビューをしたことがあると思います。
プログラミングスクールでも、大企業でもコードレビューの文化があったりします。

なぜ、こんなにコードレビューをするのでしょうか。
それはセキュリティを担保するためでもありますが、個人のスキルを伸ばすためにも使うことができます。
コードレビューはコードが間違えていないか、本番環境にリリースできる状態かどうかを確認してもらう作業のことで、障害が起こる確率を低くすることができます。とはいえ、どちらも人間が行うことなので、テストを書いたりするのですが、このテスト設計に漏れがあるとこれまた障害につながってしまうわけで、人間がやっている以上、障害というのは避けられないものでもあります。

コードレビューをやっても障害を避けることができないのであれば、他のメリットを見つけようということで、自身のスキルを伸ばす方法としてのコードレビューの仕方を伝授できればと思います。

スキルアップのためのコードレビューの仕方

まずは、自分よりできる人のコードレビューに参加しましょう。

基本的にはスキルが低い人のコードをデキる人がレビューするという流れですが、あえて逆の立場でレビューをさせてもらうのです。
できる人がどんなコードを書いているのかを見ることで、自分のコードの書き方や考えかたを見直すことができます。

次に、コミットをよく見ることです。コードレビューはおそらくGithubやBitbucketなどのコード管理ツールを使うと思いますが、コードの見方は、「差分」と「コミット」があります。差分はどこを変更したかが一覧になっていて、コミットはどの順番で変更したかがわかるようになっています。
最終的には差分を確認することが大事ですが、勉強のためにレビューをするならコミットを見ましょう。できる人がどこから手を付けたのか、どんな順序で進めたのかがわかるので、今後難しい機能の設計を担当することになったときなどに、参考にすることができます。

できる人に対して指摘しづらいという人は、質問形式でコメントをしましょう。
「ここが間違っています」ではなく「なぜここはこうなんですか?」とか「〇〇にしてはいけませんか?」みたいに普段上司に許可をもらう感覚でやってみると、「あーそれもいいかもね」とか「いや、ここはこれでいいんだよ」みたいな回答がもらえると思います。
もし、そんな優しい上司じゃないよという人はレビューをする人を変えるか、仕事を変えましょう。

ベンチャー転職に使うべき転職サイトを紹介!【おすすめ3選】

コードレビューを簡単にするための課題設計

プログラマーの仕事の進め方は、機能ごとに課題設定をして、担当者が進めていくという形だと思います。
この機能が大きすぎると課題も大きくなって、コードレビューも膨大なものになってしまいます。
コードレビューが大きすぎると、やる気をなくしますし、レビューの漏れが出てくるようになってきます。なので、課題を設計するときはなるべく小さくするよう心がけましょう。

例えば、決済機能をつけるとなると、かなり大掛かりになると思いますが、決済のデザイン、管理画面、API接続という感じで細かく分けることで、レビューする量も少なくなります。また、重要な機能はテストを書いておけば、レビューのたびに同じ機能を確認するという手間を省くことができるので、テストも重要です。
テスト設計に関してもいろんな考え方がありますが、それは今回は省略します。
設計の段階で、コードレビューしやすいコードを書くことがミスのない運用をするコツです。

【初心者エンジニアは不要】テストを書く必要性

個人開発時のコードレビューのすすめ

まだ未経験で個人開発中だからコードレビューなんかしてもらう機会がないという人のために、初心者向けのコードレビューについて説明します。

初心者がコードレビューをしてもらう方法は3つあります。

1つはプログラミングスクールに通うことです。
もちろんオンラインでも大丈夫です。というか、プログラミングはマナー講習とかプレゼン対策みたいな実践形式ではないので、対面で教わる必要がなく、オンラインがおすすめです。オンライン上で講師にコードレビュー+解説までしてもらえるので、スキルを効率よく伸ばすことができるはずです。10万円〜くらいでコースがあるので、払える人はやってみましょう。

【元講師が推薦】プログラミングスクールのおすすめ3選

2つ目は、インターンやアルバイトで働くことです。正社員やフリーランスを目指している人が多いとは思いますが、どうせなら働いてしまったほうが早いです。お金ももらえますし。やりたいことができないという制限はありますが、それでもスキルの伸びは個人で進めるより断然早くなるはずです。

【大学生向け】ベンチャーに行きたいならインターンシップがおすすめ

3つ目は、Githubでissueを上げることです。Githubにコードをアップして、issueというところに、「こんなところがわからない」みたいに書いておくと、それを見た誰かがレビューをしてくれます。初心者のコードを見に来る人が少ないと全然レビューをしてもらえない場合もあるので、teratailで質問してみたり、Qiitaにコードを書いて、編集リクエストを待つという方法もあります。

技術的な質問をしたい時はteratailを使おう

Qiitaを有効活用する方法

初心者のうちはコードを見てもらうのは恥ずかしいかもしれませんが、誰かに見てもらわないとスキルは伸びませんし、働くことになれば嫌でも誰かに見てもらうことになります。勉強中は恥をかくことができるので、どんどんコードを見てもらいましょう。