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
110
『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
Difyを使って5分で資格対策Botを作る
dayoshik
0
7
Featured
See All Featured
A designer walks into a library…
pauljervisheath
201
24k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
27
7.4k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
28
1.7k
A Modern Web Designer's Workflow
chriscoyier
692
190k
The Art of Programming - Codeland 2020
erikaheidi
48
13k
A Philosophy of Restraint
colly
202
16k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
502
140k
Ruby is Unlike a Banana
tanoku
96
11k
Fantastic passwords and where to find them - at NoRuKo
philnash
48
2.8k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
3
68
Scaling GitHub
holman
458
140k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
26
1.9k
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/