Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
『Googleのソフトウェアエンジニアリング』から学んだソースコードレビュー
Search
da-yoshi-k
March 29, 2024
0
210
『Googleのソフトウェアエンジニアリング』から学んだソースコードレビュー
「【KURAND社 協賛】仕事とお酒を愛でる「ソースコード」レビューまつり!」登壇資料
https://kinto-technologies.connpass.com/event/310504/
da-yoshi-k
March 29, 2024
Tweet
Share
More Decks by da-yoshi-k
See All by da-yoshi-k
生成AIでインフラ構築
dayoshik
0
5
生成AIでインフラ構築・管理の 心理的ハードルを下げよう
dayoshik
0
8
面倒なドキュメンテーションを生成AIでやる
dayoshik
0
52
Difyを使って5分で資格対策Botを作る
dayoshik
1
160
Featured
See All Featured
Designing for humans not robots
tammielis
254
26k
Docker and Python
trallard
46
3.6k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
Balancing Empowerment & Direction
lara
5
720
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
920
How to train your dragon (web standard)
notwaldorf
97
6.3k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.3k
A designer walks into a library…
pauljervisheath
209
24k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
Transcript
『Googleのソフトウェアエンジニアリング』 から学んだソースコードレビュー 【KURAND社 協賛】仕事とお酒を愛でる「ソースコード」レビューまつり! 虎の穴ラボ株式会社 吉田一貴
よしだ 𝕏:@da_yoshi_k 使っている技術 Ruby, Ruby on Rails, React, GCP 経歴
2023年5月〜 虎の穴ラボ株式会社 2018年4月〜 SI系のSES(PjM半分・開発半分) コードレビューとの付き合い • 前職では開発工程ではなかったり、コードレビュー文化が なく、レビューイ・レビュアー共にほぼなし • 現職では保守開発でレビューイになり、今年に入ってから チーム内で相互レビューを実施し始めた
「正しく動くか確認する?」 「設計があっているか確認する?」 「誤字脱字がないか見る?」 レビュアーとして何して いいかわからない...
世界的に有名なエンジニア 組織から学ぼう! この書籍の副題は 「持続可能なプログラミングを支える 技術、文化、プロセス」 9章がコードレビューに関する内容 (19章にレビューツールの話もありますが今回は割愛) ITエンジニア本大賞2023 ベスト10入りの書籍
コードレビューから受けている恩恵 • コードの正しさをチェックする • コードの変更が、他のエンジニアにとって意味を把握できる ものであることを保証する • コードベース全体での一貫性を強制する • チームのオーナーシップを心理的に促進する
• 知識共有を可能にする 「Googleのソフトウェアエンジニアリング」9.3章から引用
コードレビューから受けている恩恵 • コードの正しさをチェックする ◦ 作者とは別の目で客観的に誤りがないか確認される ◦ コードの欠陥は工程・時間が進むと修正のコスト・リソースが膨 大なので、早い段階の指摘により問題を「シフトレフト」できる ◦ 静的解析やCIの自動化と、人間によるチェックが加わることで多
層防御される(最近だとAIもこの辺りに加わっている) ⇒ ただし、Googleが得ている恩恵の首位ではない。 前のスライドに書いた自分の疑問はこの観点だけに偏っていたかも
コードレビューから受けている恩恵 • コードの変更が、他のエンジニアにとって意味を把握できる ものであることを保証する • コードベース全体での一貫性を強制する ◦ コードは変更されるかつ読まれる時間の方が長いという 前提で、健全性と保守性をレビューで保つ ◦
リーダビリティのトレーニングに通過した1人からの LGTMが必須。(増えすぎるとスケールしない) 💡持続可能なペースでの開発に繋がりそう!
コードレビューから受けている恩恵 • チームのオーナーシップを心理的に促進する • 知識共有を可能にする ◦ コードが自分個人のものではなく集合的な事業の一部で あると認識できる ◦ 新しいテクニック・ドメイン知識を他者に分け与えるこ
とができる 💡学習していく文化が醸成される!
コードレビューのベストプラクティス • 礼儀正しくプロフェッショナルになれ →基本的には作者のアプローチを尊重しつつフィードバックする • 小さな変更を書け • 良い変更説明を書け • レビュアーの人数は最小限にとどめよ
• 可能な場合は自動化せよ リリースのプレッシャーに追われているとおざなりになっ てしまいがちだけど、崩壊を防ぐためには踏ん張りどころ
Thanks!! これからもコードレビュー頑張ります! それはそうと今日は「ソースコード」を飲んで色々と知識 共有しましょう! 会社HPも最近リニューアルしたので見てね https://toranoana-lab.co.jp/