エンジニアのためのスキルアップ勉強会_#1「妥協しないコードレビュー」 by株式会社ソニックガーデン
1. お礼
今回、ソニックガーデンさん主催のエンジニアのためのスキルアップ勉強会#1「妥協しないコードレビュー」に参加させていただきました。
開催いただきありがとうございます!
他社の複数人のエンジニアさんが一度に登壇されるLT会はあまりなく、ソニックガーデンさんの社風や文化が感じやすい勉強会でした。
言語化しにくいのですが、ソニックガーデンさんの雰囲気が好きです。
・アクティブラーニングが好きなひとが多いイメージ?
・他者に尊厳を持ってコミュニケーションするところ?
・僕が元講師業なので、若者向けにソニックガーデンキャンプやジムなど開催されているところ
が好きなんだと思います。
こういう売上に直結しないけど社会貢献になる(ボランティア要素も強い)活動は、裏側の人員も労力もとてもかかるし、いいなと思ってもなかなか真似できることではありません。
そんなところに憧れています。
2. 課題と振り返りを書くことにしたよ
僕自身、勉強会に参加したり本を読むこと自体は好きなんですが、
・実務にもっと活かしたい
・言語化するスキルをもっと伸ばしたい
・抽象化を得意にしたい、本質を見抜けるようになりたい
という課題を感じていました。
なので、今回から知識や気づきが右から左へ流れないように、理解を深める意味合いで記事を書くことにしました。
読者のみなさまにも、
🙋♂️「こんな会社が勉強会してくれているよ!こんな良い本あるよ!」
と良いものを共有したい意味合いもあります。
しかし、対自身が、
🤔「どう成長していけばいいんや?」
という思考整理の文章も含まれています。
悪しからずご了承ください。書く内容・方向性も、随時改善していきます。
3. 自分の感じていた課題
まず自分自身がエンジニア転職に成功して、今2ヶ月目ですが、
・コードを読む・書くことには苦手意識が強い
・コードレビュー怖い
・その中で早く成長するための要点をつかみたい
・先輩の手間を減らしたい
・ソニックガーデンさんのいうことなら間違いないだろう
という考えから、今回の勉強会に参加させていただきました。
4. 登壇者の発言から学んだこと
レビューしてもらった真意、本質を理解するのが大事
始めはペアプロやZOOMでレビューしてもらうと理解しやすい
レビューの経験を積ませてもらうと勉強になる
新人もレビュワーに回る貢献できる
全コードは読めないので、1行のコードで完結するレビューチェックをするといい('と"統一されているか、シンプルな命名かなど、基礎的なチェック項目)
慣れてきたら複数行にわたるレビュー
個人開発すると、設計やメンテナンスの重要性が学べる
新人も「ここのコードわかりづらい」と伝えるだけで、読みやすい良いコードが生まれる貢献をできるかも
他の人のレビューを見ることも学びになる
同期や後輩のレビューを見る、レビューの練習をしあうのも良い
レビューされるのを好きになろう!
レビュワーも忙しくて冷たく感じるかもだが攻撃したいわけじゃない
レビューやコメントがない方が怖い
良いプロダクトを作るための協力作業
レビュイーにできること
凡ミスをなくす、セルフレビューする
レビューされた意味を理解して応用する
コメントの意味がわからなければ質問する
『リーダブルコード』と『コードレビューで学ぶ Ruby on Rails』を合わせて読んでみると理解が深まる
5. 感想、取り入れること
さすが同じ会社で信念・教育が行き届いているのか、みんな共通した理念の基、働いているんだなぁと感じ取れる発表でした。
・基礎が大事
・始めは量が大事、次第に質になる
これは誰かが言っていたわけではなくて、自身がLTを通じて感じたことです。
自身がこれからやっていこうと決めたことは、
・Paiza解く (1日1問)
・他スタッフのレビューを見る (1日1つ)
・新人がよくやりそうな気をつけてほしいことを聞いて、チェックリストを作っておく
・セルフレビューを必ずする
・レビューでわからないことがあれば、10分考えてみる。意図が合っているか質問する
・『リーダブルコード』と『コードレビューで学ぶ Ruby on Rails』を合わせて読む
です!
近々?いつかやりたいと思っていること
・個人開発(年末年始)
・ペアプロしようぜ 〜3人で登壇!? 楽しくて速いペアプロ/モブプロ開発〜(未定)
以上で、今回の課題・思考整理のための記事は終わりになります。
お付き合いくださりありがとうございました!
読んでくださったみなさまを陰ながら応援しています!
6. 書き殴りのメモ
「レビュアーとして成長するには」@橋本 遼太さん
技術書を読む
1年後に読み直して、腑に落ちることはよくある
ちょっと背伸びするくらいの技術書がちょうどいい?
レビューを受ける
レビューの意味、本質を理解する
Zoomとかでペアプロお願いすると理解しやすい
レビューの経験を積ませてもらう
コードを全文読む必要はない
1行でレビューが完結するチェックからやらせてもらう
慣れてきたら複数行のレビュー
個人開発で設計・メンテナンスの経験を積む
ここがわかりにくいコードを伝える
いいコードとは分かりやすいコード
ここが分かりにくいと伝えるだけでも貢献になる
「ソニックガーデンジムに参加してコードに対する向き合い方が変わった話」@登川 仁至さん
小さく切り分けで、コミットする
レビューしやすいように工夫する
レビューでAがいいのでは?と言われたら、意味を理解してから実装する
他人のレビューを見てみる
同じ指摘をされていたり、違う指摘をされていたりする
その意味・本質を理解する
レビューされるのを好きになろう
レビューない方が怖い
たくさんコメントついてもOK!
結果、いいプロダクトを作れる
いいコード
命名規則が統一されている
シンプルなコード
意味のあるコメント
「コードレビューを受ける新人の心構えと準備」@遠藤 光敏さん
いいコードレビューをもらうために、レビュイーもできることがある
レビューは採点ではない
レビュワーと一緒に成長していくもの
同じレビューをされない
1回で凡ミスをなくせば、レビュワーの負担を減らせる
セルフレビューで防ごう
自分以外のレビューを見る
同期・後輩のレビューを見る、お互いに練習する
同じレベル感だと練習になる
コメントが単調でも気にしない
忙しい
攻撃したいわけではない
レビューを受けたらなぜかを考える
抽象度を上げて応用できるようにする
「妥協できないソニックガーデンのコードレビュー」@田中 義人さん
妥協しないコードレビューとは?
妥協しない人による、最高のコードを求める行動