こんにちは。フロントエンドの仲本です。 3月からフロントエンドの一部チームでコードレビュー会をはじめました。 こちらの記事では、コードレビュー会に至った経緯、その内容、感想をこちらでご紹介したいと思います!
コードレビュー会の目的
最初入社したての頃は、基本的に全てのコードに対してレビューしていただいていたのですが、1人で業務を任せられるようになるとレビューをしていただく機会が徐々に減りました。
それにより以下のような不安要素を感じました。
- コードを書き正しく動いたらそれが正になる。なのでそれ以外のベストプラクティスが思いつきづらい
- 知見が広がりにくい
今回コードレビューを行うことで以下のようなメリットがあると思い提案いたしました。
- より知見が広がる
- レビューする側にとっても学習になる
- 他人がみてくれるのでより正しい記述になりやすい
上記の不安要素とメリットを用いて提案を行なったら「来週からやろう!」となりました。良いと思ったことをすぐ行えるのはWizの良いところだと思います。
コードレビュー会の内容
開催内容
開催頻度:週1(基本的に週末。難しい場合はslackにて調整)
題材:自由(フロントエンドの領域であればなんでも可)
時間:30分
開催内容についての補足
題材について
今回題材を自由としたのは以下の理由があります。
- 特に気にならないコードであっても他人が見ると発見がある
コードは読む側の視点ではなく書く側の視点になって書くことが多いと思います。
(引用元:O’Reilly Japan「リーダブルコード――より良いコードを書くためのシンプルで実践的なテクニック」https://www.oreilly.co.jp/books/9784873115658/”)
なので、自分の中で読みやすいと思っていても、他人からすれば読みづらいこともあると思うので、今回は自由にしました。
時間について
今回時間を設けた理由としては、複数人でコードをみた際に時間を特に設けず行うと何時間でもしゃべることができる可能性があったため、時間を設けました。
開催の様子
以下が開催の様子になります。
上記画像のように一つの会に対して3~4人で行なっています。
少人数で行なっているので、発言がしやすいのでコードに対して意見をだしやすいです。
また普段のコードレビューだと、しっかりコードをみて「プラスになるように書かなきゃ」などどうしても敷居が高くなってしまいがちです。
ですが私たちが行なっているコードレビュー会では、雑談を含め、なんとなく気になったことをどんどん発言していくので、画像からは伝わりづらいですがかなりわいわいしています。なので敷居は低い状態で行えていると実感しています。
- コメントを少し紹介
「全然関係ないですけど、みなさんコミットメッセージどうしてます?」
「なんか最近ttlとかの命名の省略話題になってますが、なんかルールとか決まってたりしますか?」
「data-target-tabcontentselectって単語つなげるときどうしている?」
などなど、コードをみてふと思ったことやコード関係なしのことでも話したりします。普段なかなか聞けるタイミングがなく聞けなかったことなどを話したりできるので、とても有意義な時間だったと思います。
コードレビュー会を行なっての感想
メリット
コードレビュー会を行うことで以下のようなメリットを感じました。
他の人からの意見が聞けるので、よりリーダブルなコードを追求できる
レビューする/される側双方向に知見が増える
レビュー会が毎週あることで、他人に見られるという意識が高まりよりリーダブルなコードを意識して実装をすることができる
毎回議事録をとっているのでこの知見がたまっていくと、自社のコーディングルール策定ができる可能性ができた
課題
時間が短い
時間が確保しづらい
課題についての補足
時間が短い
コードによっては、議論がもちろん長引きます。ただ30分で強制的に終わるようにしているので、明確な答えが出せずに終わってしまいます。
そもそもコードによっては、明確な答えというものはないというのもあると思いますが、議論に対する納得のいく区切りをつけるのが難しいという解釈をしていただけますと幸いです。
時間が確保しづらい
どうしても案件の都合により時間が確保しづらい時があります。そういった時に無理くり時間を確保してやるのがベストなのか、リスケするべきなのかというベストな判断が難しかったので、ここは意見をもらいつつベストな手段を見つけていきたいです。
おわり
以上がコードレビュー会の紹介でした!
現在は一部チームでしか開催していませんが、周りのチームにもこの開催をもとになにかしらの影響を与えられると良いなと思っています。
外部に公開しても良さそうなコードが題材であれば、外部公開して社員以外の方も参加できる形にするのも楽しそうですね!
Wizではエンジニアを募集中です。
興味のある方は是非覗いてみてください!↓