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
Get Your Patch Accepted
Search
Lorna Mitchell
August 22, 2015
Technology
1
980
Get Your Patch Accepted
Code reviews and how to survive them (from Froscon 2015)
Lorna Mitchell
August 22, 2015
Tweet
Share
More Decks by Lorna Mitchell
See All by Lorna Mitchell
Introduction to OpenAPI Specification
lornajane
1
650
Create PDFs from markup with rst2pdf
lornajane
3
720
Serverless Microservices are the New Black
lornajane
3
110
Serverless Computing with Apache OpenWhisk
lornajane
0
92
Build A Serverless Data Pipeline
lornajane
1
720
SQL, NoSQL and Beyond
lornajane
0
990
Build a Serverless Data Pipeline
lornajane
1
1k
Road Trip Through Database Country
lornajane
1
940
Serverless Microservices Are The New Black
lornajane
1
130
Other Decks in Technology
See All in Technology
【shownet.conf_】トポロジ図の歩き方
shownet
PRO
0
510
Low Latency Join Method for Distributed DBMS
yugabytejapan
0
170
普通の Web エンジニアのための様相論理入門 #yapcjapan / YAPC Hakodate 2024
ytaka23
5
1.4k
軽いノリで"自動化"に取り組んではいけないという話
tetsuyaooooo
1
490
【shownet.conf_】放送局とShowNetが共創する、未来の放送システム ~Media over IP 特別企画の裏側~
shownet
PRO
0
350
Rubyはなぜ「たのしい」のか? / Why is Ruby a programmers' best friend? #tqrk15
expajp
4
1.8k
VS CodeでF1〜12キーつかってますか? / Do you use the F1-12 keys in VS Code?
74th
2
290
いまからでも遅くない! コンテナでWebアプリケーションを 動かしてみよう(2-1)WebAPI座学
nomu
0
160
15 JSON serializers for Ruby
okuramasafumi
2
100
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
2
230
ラブグラフ紹介資料 〜プロダクト解体新書〜 / Lovegraph Product Deck
lovegraph
0
14k
Azure App Service on Linux の Sidecar に Phi-3 を配置してインテリジェントなアプリケーションを作ってみよう/jazug-anniv14
thara0402
0
400
Featured
See All Featured
Creatively Recalculating Your Daily Design Routine
revolveconf
217
12k
Teambox: Starting and Learning
jrom
131
8.7k
The Invisible Side of Design
smashingmag
297
50k
[RailsConf 2023] Rails as a piece of cake
palkan
49
4.7k
Clear Off the Table
cherdarchuk
91
320k
Atom: Resistance is Futile
akmur
261
25k
Designing for Performance
lara
604
68k
Fashionably flexible responsive web design (full day workshop)
malarkey
404
65k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
4
120
Become a Pro
speakerdeck
PRO
24
4.9k
Raft: Consensus for Rubyists
vanstee
136
6.6k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.8k
Transcript
How to get your patch accepted Lorna Mitchell, August 2015
maintainer and team lead
unsolicited advice
stories
3 ingredients
code
words
perspective
what does it do?
feature/bug
ticket(s)?
If there aren't any acceptance criteria for your patch, invent
some
all the code
git diff master
git diff master...HEAD
tools
TOO BIG
common code mistakes
exotic code, no comments
Leaving commented code in your codebase is like leaving litter
on a campsite
variable named $x
contributing.md
can you break your code?
I can
missing data
permissions
user is an idiot
tests
coding standards
syntax check
The commit history in your branch will be part of
my project until the end of time
git reset --soft $(git merge-base master HEAD)
more info than diff
accurate
sane format
http://chris.beams.io/posts/git-commit/
SFW
apologies
will it merge?
git merge --no-commit --no-ff feature git merge --abort
fix it
rebase
A pull request is the opening line in a conversation
about a feature
source/target
diff
title
description
what does it do?
what will I observe?
why do I care?
code review
"review" vs "merge"
anyone
peer review vs gatekeepers
key skills
Being able to see what you're NOT looking at is
a reviewer's superpower
documentation
tests
database patch
deployability
template
email
report
monitoring
cron job
and if not ...
reject
automated build
constructive feedback
colleagues vs contributors
too much feedback
sandwich technique
harsh feedback
Pull requests have a lifecycle, be prepared to champion them
to the end
3 ingredients
code
words
perspective
Thankyou http://lornajane.net (also speaking about PHP7 tomorrow)