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
Fear, and loathing In KUSO pull request
Search
Masahiro Doi
December 06, 2020
Technology
840
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Fear, and loathing In KUSO pull request
Masahiro Doi
December 06, 2020
More Decks by Masahiro Doi
See All by Masahiro Doi
AbemaTVの広告オークション / ads auction in abematv
doilux
2
2k
Other Decks in Technology
See All in Technology
The seven pitfalls of AI (revised version)
ufried
0
150
AIに書かせて、プラットフォームで縛る ― EKSプラットフォームで実践した責任境界と権限設計
elmodev09
1
1.1k
手を動かして実感する、Kiro が変える開発体験
inariku
0
420
10年欲しかった音楽管理アプリを、AIと一緒に作りはじめた
judau
1
190
覗いてみよう 関数型ビジュアル言語×2Dグラフィックスの世界
yohyamasaki
0
150
HolmesGPTで始めるSREエージェント入門!プラットフォームの障害調査はAIにお任せ 〜
leveragestech
PRO
0
120
2026-09-26 Platform Engineering Kaigi 2026 インフラとアプリの境界線と委譲の設計 / Drawing the Infra and App Line
masasuzu
0
520
「今盗んで、後で解く」に備える ― AWSのポスト量子暗号入門
yama3133
2
280
個別開発で終わらせない。 現場の課題をプロダクトの強さに変える StockmarkのFDE
ktkrhr
0
470
全社共通データ基盤をつくる。ソニーのDatabricks活用とデータガバナンス設計の裏側
sony
0
280
営業オントロジーの作り方と、エージェントからの辿り方 ── ナレッジワークの現場から
kworkdev
PRO
1
210
Execution in the Kingdom of Agents: Reflections on Abstraction and Complexity
bcantrill
0
430
Featured
See All Featured
The browser strikes back
jonoalderson
0
1.7k
So, you think you're a good person
axbom
PRO
2
2.2k
Writing Fast Ruby
sferik
630
63k
GitHub's CSS Performance
jonrohan
1033
470k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
690
Speed Design
sergeychernyshev
33
2.1k
A Tale of Four Properties
chriscoyier
163
24k
ラッコキーワード サービス紹介資料
rakko
1
5.1M
Abbi's Birthday
coloredviolet
4
10k
A Soul's Torment
seathinner
8
3.7k
How GitHub (no longer) Works
holman
316
150k
Transcript
Fear, and loathing In KUSO PULL request
Workshop 以下のPRのレビュワーにアサインされた場合に、イラっとくるポイントをあげて みよう https://github.com/doilux/kusopr/pull/1
レビューの意義 INPUTとOUTPUTの整合性チェック ダブルチェック 異なる観点からのチェック
work is ... 設計書 実装 input output 作業者 INPUTとOUTPUTの整合性チェック
review is ... 設計書 実装 input output 作業者 レビュワー INPUTとOUTPUTの整合性チェック
設計通りに実装できているかチェック
ダブルチェック レビューしてみよう(疑似コードです) val pref_country_map = [ “埼玉”: “関東”, “千葉”: “関東”,
“東京”: “関東”, “京都”: “関東”, “大阪”: “関西”, “兵庫”: “関西”, ]
ダブルチェック レビューしてみよう(疑似コードです) val pref_country_map = [ “埼玉”: “関東”, “千葉”: “関東”,
“東京”: “関東”, “京都”: “関東”, <- おそらくコピペミス “大阪”: “関西”, “兵庫”: “関西”, ]
異なる観点からのチェック レビューしてみよう(疑似コードです) val pref_jabanese_english_map = [ “栃木” : “tochigi”, “埼玉” : “saitama”,
“茨城” : “ibaragi”, “群馬” : “gunma”, “千葉” : “chiba”, “東京” : “tokyo”, “神奈川”: “kanagawa”, ]
異なる観点からのチェック レビューしてみよう(疑似コードです) val pref_jabanese_english_map = [ “栃木” : “tochigi”, “埼玉” : “saitama”,
“茨城” : “ibaragi”, <- ibaraki “群馬” : “gunma”, “千葉” : “chiba”, “東京” : “tokyo”, “神奈川”: “kanagawa”, ] 東日本出身者のほうが気付くか も(実は、自分はずっとibaragi だとおもってましたorz
レビュー依頼の心得 WHO:誰に WHY:なぜ(なにを期待して) WHAT:何を HOW:どのようにチェックしてもらうか
レビューして欲しいのは設計?実装? 設計ならクラス図やシーケンス図をレビューしたほうがよくない? 実装なら、設計については合意している? (レビュワーも設計を理解している?)
レビューして欲しいのは手順?変更箇所? どちらにしろ、このコミットの切り方だと、どこまでがツールのアウトプットで どこが手を加えたところかわからない
知るか なぜ、リファクタリングでテストコードも変えたし なぜ、大事なファイルを修正したし(コミットメッセージはWhyやHowを)
まとめ • レビューで品質を高められるかどうかは、レビューの出し方次第 • レビューを活用して品質を担保するのは作業者の責任 • 誰に、何を期待して、何を、どのようにチェックしてもらうかを意識しよう