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
830
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
20260801_スクフェス大阪
kgnkhkr
0
330
数値で見る Microsoft MVP 〜Spec Kit と GitHub Copilot Agent で作るデータ可視化ダッシュボード〜
yutakaosada
0
180
AI エージェント時代のデジタルアイデンティティ
fujie
2
1.3k
A Bag-of-Documents Model for Query Specificity
dtunkelang
0
190
「待ち時間」の消滅と「自我消耗」の加速:生成AI時代のエンジニアを救うメンタル・リソース管理
poropinai1966
0
400
AIがコードを書く時代、人間は何を保証するのか———馬場さんと考える、開発者に求められる新しい責任と価値 - TECH PLAY
netmarkjp
0
1k
Retriever と Reranker、結局どうする?
kazuaki
1
570
もう一度考える SRE チームの作り方・育て方 / Rethinking SRE #1: Building and Growing SRE Teams
rrreeeyyy
4
610
Claude Code並行開発環境の ムダ‧ムラ‧ムリを見直した話
muranakaaa
1
390
Pavlokで始める電撃駆動開発
sgrsn
0
140
『モンスターストライク』 の運営に伴走する! データ民主化への 解析グループの3つのアプローチ
mixi_engineers
PRO
0
200
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
110k
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
42
3.1k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Being A Developer After 40
akosma
91
590k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.7k
Code Review Best Practice
trishagee
74
20k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
600
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
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を)
まとめ • レビューで品質を高められるかどうかは、レビューの出し方次第 • レビューを活用して品質を担保するのは作業者の責任 • 誰に、何を期待して、何を、どのようにチェックしてもらうかを意識しよう