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
Takasaki Wataru
July 31, 2024
Programming
0
420
レビューに向けて工夫した話
Takasaki Wataru
July 31, 2024
Tweet
Share
Other Decks in Programming
See All in Programming
Result型で“失敗”を型にするPHPコードの書き方
kajitack
5
930
Azure AI Foundryではじめてのマルチエージェントワークフロー
seosoft
0
190
ソフトウェア品質を数字で捉える技術。事業成長を支えるシステム品質の マネジメント
takuya542
2
14k
git worktree × Claude Code × MCP ~生成AI時代の並列開発フロー~
hisuzuya
1
590
AI駆動のマルチエージェントによる業務フロー自動化の設計と実践
h_okkah
0
180
おやつのお供はお決まりですか?@WWDC25 Recap -Japan-\(region).swift
shingangan
0
140
The Modern View Layer Rails Deserves: A Vision For 2025 And Beyond @ RailsConf 2025, Philadelphia, PA
marcoroth
2
510
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
2
540
dbt民主化とLLMによる開発ブースト ~ AI Readyな分析サイクルを目指して ~
yoshyum
3
1k
Modern Angular with Signals and Signal Store:New Rules for Your Architecture @enterJS Advanced Angular Day 2025
manfredsteyer
PRO
0
230
코딩 에이전트 체크리스트: Claude Code ver.
nacyot
0
690
なんとなくわかった気になるブロックテーマ入門/contents.nagoya 2025 6.28
chiilog
1
280
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
740
Rails Girls Zürich Keynote
gr2m
95
14k
Thoughts on Productivity
jonyablonski
69
4.7k
Designing for humans not robots
tammielis
253
25k
A Tale of Four Properties
chriscoyier
160
23k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Typedesign – Prime Four
hannesfritz
42
2.7k
Transcript
レビューに向けて ⼯夫した話 2024.7.31 アノテーション株式会社 ⾼崎 渉
Xへの投稿の際は、 ハッシュタグ #devio2024 でお願いいたします。 2 お願い
⾃⼰紹介 3
⾃⼰紹介 4 高崎 渉 たかさき わたる 【所属】 アノテーション株式会社 エンジニア統括部 パートナーアライアンスゾーン
LINE/アプリ DevOps チーム 【入社】 2023 年 3 月 【これまで】 オンプレミス開発 約6年 組込開発 約20年 →LINEミニアプリの運用保守にジョブチェンジ
今回のお話 5
今回のお話について 6 ▪お話すること ▪対象 • レビュー資料に⼀⼯夫したこと • レビュー⾃体を⼀⼯夫したこと • 形骸化したレビューをなんとかしたい
• どういった観点でレビューすればよいかわからない
ソフトウェアにおけるレビュー 7 ▪「ソフトウェア レビュー 課題」 google 検索:約 200 万件ヒット •
レビューは合意形成の場だということを理解する • 事前にレビュー対象物を展開して準備する • 揚げ⾜取りで個⼈攻撃にならないようにする ‧‧‧といった話ではなく、 レビューの対象物ややり⽅に⼀⼯夫したお話。
背景 8 ▪LINE ミニアプリ運用保守業務 クラスメソッドグループ全体で LINE 事業の維持と拡⼤ • 脆弱性に積極対応し、安定した運⽤を維持 •
クラスメソッド開発エンジニアの負荷軽減 • LINE 業務で得たナレッジを集約、蓄積 中規模を超えた差分開発を携わることになり、 ドキュメントやソースへの確認事が増えてきた
要件や処理の 経緯が知りたいが、 あるのはドキュメント やソースのみ 9
経緯を残す 仕組みを作ろう 10
1.レビュー対象物に⼀⼯夫 11
レビュー対象物へ⼯夫したこと 12 レビュー対象物:設計書・データフロー図・ソース これらのようないわば「検討の成れの果て」ではなく、 下記のような成果物に⾄る⾏間の部分を残して記載する。 • お客様と整理した内容(Backlog や JIRA の
URL でも可) ◦ 経緯の記録を余すことなく出す • 設計⽅針の検討内容 ◦ 検討項⽬の要否 • 改修するソースの事前調査内容 ◦ 検索して調査した場合はその検索を⾏った⽂⾔と対応要否 • 追加するソースの実装⽅針 ◦ 要件実現のために実装する内容 →ADR(Architecture Decision Report)を作成
まずは ADR を確認する 13 確認内容 • お客様と整理した内容(Backlog や JIRA の
URL でも可) • 設計⽅針の検討内容 • 改修するソースの事前調査内容 • 追加するソースの実装⽅針 →整理内容のチェック →方針や検討の是非 →調査内容の是非 →コストの確認(処理時間、従量課金) →実装モレのチェック レビュアーの判断対象 検討内容の妥当性 次期開発の参考資料 新規メンバーの教育 =チームの重要な資産
1.のまとめ 14 設計書・ソースの 行間こそがレビュー対象 • 検討事項を ADR として整理 •
レビューは ADR に関する妥当性を判断 • 品質記録や今後の参考資料として活⽤
2.レビューに⼀⼯夫 15
レビュー 16 ▪英語の「レビュー(review)」 直訳すると、 • 再検査 • 評価 • 批判
• 振り返り レビューはレビューアの振り返りの場
振り返りのフレームワーク 17 ▪KPT(Keep Problem Try) • Keep‧‧‧??? • Problem‧‧‧レビュー対象物への問題指摘 •
Try‧‧‧指摘された問題に対する施策、修正 レビューでKeepするものを明らかにする
どうしたら? 18
褒めましょう 19
褒めましょう 20 その検討⽅法、 とても良く 整理されていますね 可読性の上がる リファクタリング 有難うございます とても観点の広い テストケースだと
思います 複雑な要件の整理 お疲れ様でした きめ細やかな 条件分けの検討、 さすがです そのコメント、 わかりやすいです などなど 等々 etc.
2.のまとめ 21 レビューでは褒めることも意識する • 「ダメ出し」だけではなく「良かった探し」も実施 • ⾃分だと出来なかったものをどんどんピックアップ • 出てきたものをナレッジとして後段に活⽤
まとめ 22
まとめ • 経過、経緯を残して判断する • 「良かった探し」を⾏う 23
24