レビューはとにかく大切
プログラミングに限った話ではないですが、みんなと行うレビューはとても大切です。
プログラムを書いて終わりではなく、きちんと誰かと共有するということをしっかりと行いましょう。
周りから指摘されて気付く面もありますし、「なんでこうなったの?」ということを説明することで理解も深まります。
特に勉強中の場合や、授業などでは自分で作って終わりだとほとんど意味がありません。
「指摘=間違い」ではない
どうしても指摘を受けるというのは気分が良いものではありません。
一生懸命考えて作ったものに対し、あれこれ言われるのは最初は抵抗があるかもしれません。
最初は「プログラミングとはそういうものだ」と考えましょう。
指摘は間違いを探すものだけではありません。
そもそも、間違いをサッと見て把握できるケースはそんなに多くありません。
多くの場合は基本的なケースの確認は終わっており、普通に動く状態になってからレビューをすることがほとんどです。
何を見ているかというと
- なぜこのような流れにしたの?
- どうしてこの名前にしたの?
- 条件式は正しい?
- ループ処理は無駄がない?
- 明らかにテスト用の記述が残ってない?
- プログラミングの記載ルール守ってる?
などです。
もちろん修正はした方がいいものもありますが、「動くかどうか?」だけを考えたら修正しなくてもよいものもあります。
よりよいものを作るため、他人の考えを理解するためにもレビューをすることで深まります。
作りっぱなしは止めましょう。
他人が理解できてこそ意味がある
自分だけで完結する場合、論理的な思考も効率的な考え方も実はあまり必要ありません。
書き方がどんなに悪くても、いい加減でもなんとかなります。
日記と一緒ですね。
自分だけが使うニックネームを使って書いていても、バラバラな文章でも1人で見る分には十分ですが、他人に見せるとなると書き直す必要があります。
ここで初めて論理的な文章の組み立てをしないと成立しなくなります。
ですので、プログラミングも「他人に見せる」ということをしないと自己満足でしかありません。
変数名や関数名で揉めるのがプログラマー
こういうサイトがあります。
プログラマーのためのネーミング辞書:https://codic.jp/
実際に開発をしていて、自分はこのサイトを使わせてもらっていました。
実際にレビューではこの辺りの指摘も多いです。
もちろん、ネーミングルールを設けていますので、大きくハズレはしないのですが、新しい関数名を何にするのか?変数名は何にするのか?というのは結構大切なことです。
小説で言うなら新しい登場人物の名前やニックネームみたいなものだと考えてください。
新しく「店舗」という変数を用意しなければならない場合、「x」とか「a1」とかだと後で読み返しても何が何だか分かりません。
ただ、店舗と言っても「shop」なのか「store」なのか?なども好みもありますし、会社内の呼び名もあります。
「みんながすんなり分かるのはどちらか?」ということを考えて変数名を付けます。
そういうところまで気を遣って作ってこそで、それをレビューで「どうしてこっちにしたのか?」が言えるようになれば、自ずと論理的な思考が徐々に身に付いているとも言えますね。
とにかくレビューを
素晴らしく整合性が取れたプログラムは、初見で大体分かります。
読むのにストレスがありません。
各種ネーミングも的確で、関数の分割も自然。頭で変換する必要がないので、文章を読むように理解できます。
自分では考えつかなかった方法も学ぶことができます。
是非プログラミングをするなら、「プロのプログラマーは全員やってるよ」ということで、強制的にでもレビューをしてくださいね。
「見られる」というのが重要ですから。