Slide 1

Slide 1 text

ソニックガーデンジムに参加してコードに対する向 き合い方が変わった話 @エンジニアのためのスキルアップ勉強会#1 「妥協しないコードレビュー」 2023/12/11

Slide 2

Slide 2 text

目次 1. 自己紹介 2. ソニックガーデンジムに参加した経緯 3. 何を学んだか 4. 心境の変化 5. 自分なりの「妥協しないコードレビュー」 6. まとめ

Slide 3

Slide 3 text

自己紹介 ・ソニックガーデンジム 7期生 ・プログラマー歴2~3年 ノボです @Nobo02149847 Webアプリケーション開発をしてます。 沖縄在住。

Slide 4

Slide 4 text

よろしくお願いします

Slide 5

Slide 5 text

今日はソニックガーデンジムに参加してコードに対する向き合い方が変わったことにつ いて話します。 参考になる人: ・コードレビュー怖いなって思っている人。 ・ソニックガーデンジム気になるなと思っている人。 何を話すのか

Slide 6

Slide 6 text

目次 1. 自己紹介 2. ソニックガーデンジムに参加した経緯 3. 何を学んだか 4. 心境の変化 5. 自分なりの「妥協しないコードレビュー」 6. まとめ

Slide 7

Slide 7 text

仕事でコードを書いて2~3年目になり、コードを書くのに慣れてきたが、もっと良いコード の書き方が知りたい。 何か良い方法はないかな...🤔 知り合いの紹介で「ソニックガーデンジム」を知った。 ソニックガーデンジムに参加した経緯

Slide 8

Slide 8 text

これだ!!💪

Slide 9

Slide 9 text

応募 → 参加できることになった。 3ヶ月間で課題に沿ったアプリケーションを開発することに。💪 ソニックガーデンジムに参加した経緯

Slide 10

Slide 10 text

目次 1. 自己紹介 2. ソニックガーデンジムに参加した経緯 3. 何を学んだか 4. 心境の変化 5. 自分なりの「妥協しないコードレビュー」 6. まとめ

Slide 11

Slide 11 text

・レビューし易いように工夫する ・気になることは質問する ・他人のレビューを見てみる 何を学んだか

Slide 12

Slide 12 text

レビューし易いように工夫する ・PRのサイズが大きくならないように気を付ける。機能ごとの区切りで出すのが 分かり やすい。 ・コメントにはアノテーション(TODO, FIXMEなど)をつけて言い訳を書く。 ・UIの変更があれば変更箇所の動画を添付する。 ・Linterを使用する。またセルフレビューを行い、レビューの本質でない箇所を レビュー させないようにする。

Slide 13

Slide 13 text

気になることは質問する コードレビュー初期にやりがちだったコメント レビュワー:この実装はAが良いのでは? 私:    Aが良いと思います!Aで実装します。 なぜ実装Aが良いのか理解してないまま実装してしまう。 応用が効かなさそう。

Slide 14

Slide 14 text

気になることは質問する コードレビューに慣れてきた頃 レビュワー:この実装はAが良いのでは? 私:    Bの理由があるのでこの実装にしています。Aの実装にする理由はC       だからでしょうか? レビュワー:Aの実装にする理由はCではなくDだからです。 私:    理解しました。その理由であればAの実装が良いと思います。Aの実       装をします。 実装Aを選択する理由が理解できているので応用が効きそう。

Slide 15

Slide 15 text

他人のレビューを見てみる ・他人のPRの見ることで、自分が指摘されなかったことや、別の実装方法を学ぶ こと ができる。 自分へのレビューでなくても学ぶことができる

Slide 16

Slide 16 text

https://techbookfest.org/product/wsrsXmV6u0q7hB5F0yt49C?productVariantID=e1UcMVjnwJUx2hy8nxMZTt

Slide 17

Slide 17 text

目次 1. 自己紹介 2. ソニックガーデンジムに参加した経緯 3. 何を学んだか 4. 心境の変化 5. 自分なりの「妥協しないコードレビュー」 6. まとめ

Slide 18

Slide 18 text

ソニックガーデンジムに参加する前の心境 ・この実装がベストかどうか分からない。 ・理解できないコメントがきたらどうしよう。 ・コメントが多すぎたらへこみそう。 ・コードレビューは必要だけど、最低限あれば良い。 ・正直、コードレビュー怖い。

Slide 19

Slide 19 text

ソニックガーデンジムに参加中の心境 ・コメントいっぱいきた。へこむ。(レビューコメント89) ・コメントが優しい...!? ・流派とかあるのか。面白い。 ・綺麗なコードの書き方を知れる。楽しい。 ・コードレビューは絶対必要なのでは...!!

Slide 20

Slide 20 text

ソニックガーデンジムを終了後の心境 ・コードレビューを受けて成長を実感。 ・レビュワーとの仲が深まった気がする(多分) ・コードレビュー怖くなくなった。むしろコードレビューがないと怖い。

Slide 21

Slide 21 text

正直、コードレビュー怖い ↓ コードレビュー怖くなくなった。むしろレビューがないと怖い。 心境の変化をまとめると...

Slide 22

Slide 22 text

目次 1. 自己紹介 2. ソニックガーデンジムに参加した経緯 3. 何を学んだか 4. 心境の変化 5. 自分なりの「妥協しないコードレビュー」とは 6. まとめ

Slide 23

Slide 23 text

      「妥協しないコードレビュー」とは... 何? 🤔 自分なりの「妥協しないコードレビュー」とは

Slide 24

Slide 24 text

「妥協したコードレビュー」を考えてみる。🤔 ・命名規則がバラバラ ・シンプルでない実装 ・よく分からないコメント ・使用しているのか分からないメソッド、ファイル ・メンテナンスコストだけが増える効果の低いテスト 自分なりの「妥協しないコードレビュー」とは

Slide 25

Slide 25 text

「妥協しなかったコードレビュー」を考えてみる。🤔 ・命名規則が統一されている ・シンプルで読み易い実装 ・意味のあるコメント ・使用しているのか分からないメソッド、ファイルが存在しない。 ・効果のあるテスト 自分なりの「妥協しないコードレビュー」とは

Slide 26

Slide 26 text

「妥協しなかったコードレビュー」の方が良いプロダクトになりそう ↓ 「妥協しないコードレビュー」とは良いプロダクトに作るために必要な共通認識 自分なりの「妥協しないコードレビュー」とは

Slide 27

Slide 27 text

目次 1. 自己紹介 2. ソニックガーデンジムに参加した経緯 3. 何を学んだか 4. 心境の変化 5. 自分なりの「妥協しないコードレビュー」 6. まとめ

Slide 28

Slide 28 text

ソニックガーデンジムを通して ・レビューし易いように工夫する ・気になることは質問する ・他人のレビューを見てみる ・コードレビュー怖くなくなった。むしろレビューがないと怖い。 ・「妥協しないコードレビュー」で良いプロダクトを作ることができる。 まとめ

Slide 29

Slide 29 text

ご清聴 ありがとうございました