Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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
10
面倒なドキュメンテーションを生成AIでやる
dayoshik
0
53
Difyを使って5分で資格対策Botを作る
dayoshik
1
190
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.1k
The Pragmatic Product Professional
lauravandoore
37
7.1k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Being A Developer After 40
akosma
91
590k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
We Have a Design System, Now What?
morganepeng
54
7.9k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
KATA
mclloyd
PRO
32
15k
The Cost Of JavaScript in 2023
addyosmani
55
9.3k
Why Our Code Smells
bkeepers
PRO
340
57k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
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/