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
他チームレビューのコツ
Search
yuyu_hf
PRO
March 29, 2024
0
33
他チームレビューのコツ
「【KURAND社 協賛】仕事とお酒を愛でる「ソースコード」レビューまつり!」のLT資料です。
yuyu_hf
PRO
March 29, 2024
Tweet
Share
More Decks by yuyu_hf
See All by yuyu_hf
マイクロサービスを横断したGoのコードレビュー
yuyu_hf
PRO
1
160
DMMプラットフォームを支える負荷試験基盤
yuyu_hf
PRO
2
1.9k
DMMの取り組み最前線 ~フルマネージドNewSQLであるTiDB Cloudの可能性~
yuyu_hf
PRO
4
3.9k
マイクロサービスプラットフォーム向け負荷試験基盤の初期リリースを終えた話
yuyu_hf
PRO
2
1.8k
Featured
See All Featured
Thoughts on Productivity
jonyablonski
60
3.9k
Building a Modern Day E-commerce SEO Strategy
aleyda
21
6.4k
How GitHub (no longer) Works
holman
305
140k
The Invisible Side of Design
smashingmag
294
49k
Building an army of robots
kneath
300
41k
The Power of CSS Pseudo Elements
geoffreycrofte
62
5k
Into the Great Unknown - MozCon
thekraken
14
1k
Large-scale JavaScript Application Architecture
addyosmani
504
110k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
13
8.3k
Building a Scalable Design System with Sketch
lauravandoore
457
32k
Build The Right Thing And Hit Your Dates
maggiecrowley
25
2k
The Invisible Customer
myddelton
114
12k
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