Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
他チームレビューのコツ
Search
yuyu_hf
March 29, 2024
230
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
他チームレビューのコツ
「【KURAND社 協賛】仕事とお酒を愛でる「ソースコード」レビューまつり!」のLT資料です。
yuyu_hf
March 29, 2024
More Decks by yuyu_hf
See All by yuyu_hf
encoding/json v2を予習しよう!
yuyu_hf
3
1.8k
クラウドネイティブなNewSQLで実現するミッションクリティカルなアプリケーションの運用
yuyu_hf
1
420
マイクロサービスを横断したGoのコードレビュー
yuyu_hf
1
570
DMMプラットフォームを支える負荷試験基盤
yuyu_hf
2
2.4k
DMMの取り組み最前線 ~フルマネージドNewSQLであるTiDB Cloudの可能性~
yuyu_hf
4
4.2k
マイクロサービスプラットフォーム向け負荷試験基盤の初期リリースを終えた話
yuyu_hf
2
2.2k
Featured
See All Featured
The Language of Interfaces
destraynor
162
27k
Statistics for Hackers
jakevdp
799
230k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
520
A designer walks into a library…
pauljervisheath
211
25k
The Pragmatic Product Professional
lauravandoore
37
7.4k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
500
エンジニアに許された特別な時間の終わり
watany
109
250k
Transcript
他チームレビューのコツ 【KURAND社 協賛】仕事とお酒を愛でる「ソースコード」レビューまつり! いっぬ(@yuyu_hf) 1
自己紹介 いっぬ @yuyu_hf 合同会社DMM.comで認可領域のリードエンジニア をしています。副業の技術支援先でもリードエンジニ アをしています。GoでサーバーサイドAPIの開発を することが多いです。 2
今日LTするきっかけ 第7回のDMM.goでDMM Platformのマイクロサービスを開発する各チームにGoのコー ドレビューのサービスを提供した話をしました。 Speaker Deck https://speakerdeck.com/yuyu_hf/dmm-go-7-microservices-go-code-review YouTube https://www.youtube.com/watch?v=6PT8jnGTOx4 3
今日LTするきっかけ 発表内容を見た中西さんからLT会に誘ってもらいまし た。 LTでは他チームレビューするときのコツのみ話しま す。その他の内容は懇親会で話をさせてください。 4
他チームレビューするときのコツ 自分が開発に携わっているプロダクトのコードレビューと他チームレビューでは目的が 異なります。 他チームレビューをするときはまず目的を決めて、目的に合わせてどのようにコードレ ビューするか決めます。 5
いぬさんが他チームレビューしたときの目的 目的① チームの開発速度を上げる Goを使ったサーバーサイドAPIの開発に慣れていないチームに他チームレビューを提 供し、チームの開発速度を上げる。 目的② コード品質を上げる 事業部全体で技術的負債の返却をしている途中なので、新規/リプレースするプロダクト が技術的負債にならないようにプロダクトのコード品質を上げる。 6
いぬさんの他チームレビューの制限 制限 ・業務時間の内、週4時間 ~ 8時間を他チームレビューに使う ・他チームレビューは、非同期のPRへのコメントで行う ・基本的に他チームのMTGには参加せず、PRのレビューのみ実施する ・他チームより自分のチームの仕事を優先する 7
コツ① レビューはベストエフォートで実施する いぬさんのチームで優先度の高いタスクがある場合、PRが作成されてからすぐに他 チームレビューできません。 いぬさんのコードレビュー待ちでチームの開発速度が下がってはいけないので、チーム 都合でPRをマージしてもらいます。 8
コツ② 全部レビューしない 他チームレビューのレビュアーは、レビュー先のチームメンバーに比べてプロダクトの仕 様の理解が浅い。 他チームレビューのレビュアーにプロダクトの仕様を十分に理解させようとすると、レビュ アー/レビュイーの工数がかかる。 プロダクトの仕様に関するレビューは基本的に諦めて、コードを読んだときに良いコード になっているかどうかでレビューをする。 9
コツ② 全部レビューしない レビューするもの例 ・Goの書き方 ・コードの書き方として品質が低いところ レビューしないもの例 ・仕様の確認 ・テスト ・CI/CDの仕組み 10
コツ③ レビューを具体的に伝える メリデメを説明する 通常のコードレビューと異なり、他チームレビューでは教育の観点でもレビューを実施し ます。 レビューでコードの修正案を出すだけでなく、修正案を採用するときのメリデメを説明し ます。 レビュイー自身がメリデメを考えながらコーディングできるようになることが目的です。 11
12 引用元: https://speakerdeck.com/yuyu_hf/dmm-go-7-microservices-go-code-review?slide=11
コツ③ レビューを具体的に伝える サンプルコードを書く コードレビューではレビューした修正案に対して、レビュアーとレビュイーの間で変更後 のコードに認識齟齬が発生しがちです。 レビューした修正案と修正後のコードをセットでコメントすることで、認識齟齬が発生する ことを防ぎます。 13
コツ③ レビューを具体的に伝える サンプルコードを書く 14 引用元: https://speakerdeck.com/yuyu_hf/dmm-go-7-microservices-go-code-review?slide=15
コツ④ 同期的レビューを併用する 他チームレビューは非同期で行われます。 他チームレビューに慣れていない人だと、説明しづらいレビュー内容をテキストコミュニ ケーションで説明しようとしがちです。 説明しづらいレビュー内容は同期的にレビューするほうがレビュアー/レビュイー双方の コミュニケーションコストが下がる。 15
おわり いぬさんが他チームレビューを担当していたときに工夫していた点をコツとして紹介しま した。 他チームレビューにチャレンジする人はぜひ参考にしてください。 16