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
230
『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
Claude Code と進める少人数モブプログラミング
dayoshik
0
88
業務でNotebookLMを活用したい2026
dayoshik
0
8
生成AIでインフラ構築
dayoshik
0
6
生成AIでインフラ構築・管理の 心理的ハードルを下げよう
dayoshik
0
10
面倒なドキュメンテーションを生成AIでやる
dayoshik
0
55
Difyを使って5分で資格対策Botを作る
dayoshik
1
210
Featured
See All Featured
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.2k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
440
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
77
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.1k
Embracing the Ebb and Flow
colly
88
5k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
Into the Great Unknown - MozCon
thekraken
40
2.3k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
150
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
68
Designing for Performance
lara
610
70k
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/