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
80
他チームレビューのコツ
「【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
330
DMMプラットフォームを支える負荷試験基盤
yuyu_hf
PRO
2
2.1k
DMMの取り組み最前線 ~フルマネージドNewSQLであるTiDB Cloudの可能性~
yuyu_hf
PRO
4
4k
マイクロサービスプラットフォーム向け負荷試験基盤の初期リリースを終えた話
yuyu_hf
PRO
2
1.9k
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
It's Worth the Effort
3n
183
27k
Thoughts on Productivity
jonyablonski
67
4.3k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.2k
The World Runs on Bad Software
bkeepers
PRO
65
11k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Typedesign – Prime Four
hannesfritz
40
2.4k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
4 Signs Your Business is Dying
shpigford
180
21k
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