どうも。ひろです。
皆さんは自分が書いたコードを誰かに見てもらう機会はありますか?
実際に現場で働いている方はソースコードをレビューしてもらう機会は多くあると思います。
その時にもう少ししっかり書いてから見てもらおうや、ちゃんと動作してから見てもらおうと思っている方はいるのではないでしょうか?
私は動作確認はできたけどソースコード綺麗にしてから見てもらおうという考えでした。
ですがここ最近は人に見せられる程度の汚さなら帰ってそのまま見せてもいいのではないのかなと思うようになりました。
早くレビューしてもらうようにしたことで以下を得ることができました。
- 不具合になりそうなところを一緒に考えられる。
- 綺麗にする前に見てもらう為、綺麗にする方針が決まる。
- そもそも実装方法が違う場合に気づくことができた。
- 保守しやすいコードの意見をもらって実装に反映でき、自分も勉強になる。
各項目について詳しく説明していきます。
目次
不具合になりそうなところを一緒に考えられる。
動作確認して正常に動いたと思っていても、IT試験(結合試験)をした時に不具合が出てくる可能性もあります。
開発工数の関係もあると思うので、できるだけ実装の段階で潰しておく方が良いと思います。
経験がまだ浅い人だと不具合になりそうな実装ということに気づくことができる可能性が低いです。
機能を実現するので精一杯になっていると思います。
実際私が実装する時も実現することで手一杯になっています。
その為、動作することが確認できたら経験がある人にレビューをしてもらいましょう。
経験がある人は今まで試験などしてきてこういうところに不具合が出てきやすいということが検討付いていると思います。
自分が書いたコードを実施に見てもらうことで不具合になりそうなところはないか、
もしあるとしたらなぜ不具合になりそうなのかしっかり理由を聞いて修正しましょう。
また、指摘してくれた点は経験者のノウハウになるので自分が吸収することで次実装する時の工数削減になります。
綺麗にする前に見てもらう為、綺麗にする方針が決まる。
汚いか綺麗かというのはレビュー前の時点では自分視点の話です。
他の開発者がどのようなコードの書き方を求めているのかレビューをしてもらうとわかります。
その方針が分かった時点で綺麗にしていくことでレビューの回数も減りますし、
自分は綺麗だと思っていたコードが全て書き直しだと手戻りが発生してしまいますが、
先に方針を決めることで書き直しの手間が省けます。
一般的に綺麗なソースコードは他の開発者が解読しやすいソースコードと言われています。
実装する時に意識して実装して、綺麗にする前にレビューをして貰えばさらに手間を省くことができて効率アップにるながります。
そもそも実装方法が違う場合に気づくことができた。
私が一回経験したことなのですが、
そんなに難しそうな機能の実装でなかったので設計をしないで頭の中で実現できると思っていた方法で実装しました。
結果的に実装方法が違く実現できなかったので現状の実装を見てもらうことにしました。
見てもらったタイミングが自分が設定していた期限の日でした。
そこから実際の納期までそこまで時間がないにもかかわらず、結構工数のかかりそうな実装だとわかりました。
沼にはまって自分一人で考えてしまったことで、時間をかなりロスしてしまいました。
この経験から私は設計もそうですが、一応求められている機能を実現するための実装方法があっているかという観点でレビューしていただくようにしています。
タイミングは少しでも不安になったタイミングですね。できるだけ早い段階でお願いします。
5割程度進んだら見てもらって方針を確認するようにすることで、すぐに修正できますので積極的にレビューはしてもらいましょう。
保守しやすいコードの意見をもらって実装に反映でき、自分も勉強になる。
先ほども綺麗なコードは他の開発者でも解読ができるソースコードと言いました。
つまり誰でも解読できるということは保守がしやすいということにつながります。
自分しか解読できない場合、自分がいなくなったら担当した実装部分が何をしている機能なのか他の人は把握できず、
機能の修正を行おうとしても難しくなってしまいます。
そのために周りの方の意見を聞き修正を反映します。
その際に一度書いたことを忘れないようにメモに残しておくと、
実装経験が豊富になっていくについれて学びも多くなり、
たくさん学んでからは逆に他の人のコードを見るときは今後のことを思って指摘をできるようになると思いますので、レビューから多くのことを学びましょう。
まとめ
まとめです。
- レビューをすることで保守しやすいコードを書くことができる。
- 不具合につながる実装について指摘を受けることができる。
- 早めにレビューを受けることで実装方法の方針を確認することができ、大幅に工数を削減できる場合がある。
初めの頃はコードレビューすると何言われるか分からないから怖いという方もいるかもしれません。
私もそうでしたが、レビューを受けずにいた方が周りの方に迷惑をかけてしまうのでどんどんレビューしてもらいましょう。
もちろん相手が忙しそうとかd
Slackなどを活用して同じ言語をやっている方を集めてお互いのコードをレビューし合う場所を作成しても面白そうですね!
ここまで読んでくださりありがとうございました。