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
100
業務でNotebookLMを活用したい2026
dayoshik
0
12
生成AIでインフラ構築
dayoshik
0
7
生成AIでインフラ構築・管理の 心理的ハードルを下げよう
dayoshik
0
11
面倒なドキュメンテーションを生成AIでやる
dayoshik
0
55
Difyを使って5分で資格対策Botを作る
dayoshik
1
250
Featured
See All Featured
The untapped power of vector embeddings
frankvandijk
2
1.6k
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
120
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Optimizing for Happiness
mojombo
378
71k
GraphQLとの向き合い方2022年版
quramy
50
14k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
250
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
260
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
250
Designing for humans not robots
tammielis
254
26k
Testing 201, or: Great Expectations
jmmastey
46
8.1k
Between Models and Reality
mayunak
2
250
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/