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
Fear, and loathing In KUSO pull request
Search
Masahiro Doi
December 06, 2020
Technology
0
730
Fear, and loathing In KUSO pull request
Masahiro Doi
December 06, 2020
Tweet
Share
More Decks by Masahiro Doi
See All by Masahiro Doi
AbemaTVの広告オークション / ads auction in abematv
doilux
2
1.8k
Other Decks in Technology
See All in Technology
AI機能の開発運用のリアルと今後のリアル
akiroom
0
250
形式手法の 10 メートル手前 #kernelvm / Kernel VM Study Hokuriku Part 7
ytaka23
5
760
Windows Autopilot Deployment by OSD Guy
tamaiyutaro
0
310
メールサーバ管理者のみ知る話
hinono
1
100
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
4
340
株式会社島津製作所_研究開発(集団協業と知的生産)の現場を支える、OSS知識基盤システムの導入
akahane92
1
190
インフラとバックエンドとフロントエンドをくまなく調べて遅いアプリを早くした件
tubone24
1
260
DMARC 対応の話 - MIXI CTO オフィスアワー #04
bbqallstars
1
140
なぜ今 AI Agent なのか _近藤憲児
kenjikondobai
1
390
10分でわかるfreeeのQA
freee
1
3.5k
データ活用促進のためのデータ分析基盤の進化
takumakouno
2
530
ライブラリでしかお目にかかれない珍しい実装
mikanichinose
2
330
Featured
See All Featured
It's Worth the Effort
3n
183
27k
Rails Girls Zürich Keynote
gr2m
93
13k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Embracing the Ebb and Flow
colly
84
4.5k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Testing 201, or: Great Expectations
jmmastey
38
7.1k
StorybookのUI Testing Handbookを読んだ
zakiyama
26
5.2k
Gamification - CAS2011
davidbonilla
80
5k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
505
140k
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を)
まとめ • レビューで品質を高められるかどうかは、レビューの出し方次第 • レビューを活用して品質を担保するのは作業者の責任 • 誰に、何を期待して、何を、どのようにチェックしてもらうかを意識しよう