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
Code Reviews
Search
Janos Gyerik
October 14, 2015
Programming
0
140
Code Reviews
Just Do It!
Janos Gyerik
October 14, 2015
Tweet
Share
More Decks by Janos Gyerik
See All by Janos Gyerik
Capture The Flag at SonarSource 2019
janosgyerik
1
34
Keyboard shortcuts
janosgyerik
0
130
Analyze your changeset in a branch before git push using SonarLint + Git hooks; Round #2
janosgyerik
0
620
Analyze your changeset in a branch before git push using SonarLint + Git hooks
janosgyerik
0
320
Unwatch GitHub repos
janosgyerik
0
280
Playing with Yahoo! Pipes
janosgyerik
0
230
Cool features of GitHub
janosgyerik
0
1.3k
Time-saving tricks on the command line
janosgyerik
1
4.1k
Other Decks in Programming
See All in Programming
WebフロントエンドにおけるGraphQL(あるいはバックエンドのAPI)との向き合い方 / #241106_plk_frontend
izumin5210
4
1.4k
【Kaigi on Rails 2024】YOUTRUST スポンサーLT
krpk1900
1
330
イベント駆動で成長して委員会
happymana
1
320
リアーキテクチャxDDD 1年間の取り組みと進化
hsawaji
1
220
PHP でアセンブリ言語のように書く技術
memory1994
PRO
1
170
광고 소재 심사 과정에 AI를 도입하여 광고 서비스 생산성 향상시키기
kakao
PRO
0
170
Content Security Policy入門 セキュリティ設定と 違反レポートのはじめ方 / Introduction to Content Security Policy Getting Started with Security Configuration and Violation Reporting
uskey512
1
520
Ethereum_.pdf
nekomatu
0
460
とにかくAWS GameDay!AWSは世界の共通言語! / Anyway, AWS GameDay! AWS is the world's lingua franca!
seike460
PRO
1
860
シェーダーで魅せるMapLibreの動的ラスタータイル
satoshi7190
1
480
GitHub Actionsのキャッシュと手を挙げることの大切さとそれに必要なこと
satoshi256kbyte
5
430
現場で役立つモデリング 超入門
masuda220
PRO
15
3.2k
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
109
49k
GraphQLとの向き合い方2022年版
quramy
43
13k
Faster Mobile Websites
deanohume
305
30k
Practical Orchestrator
shlominoach
186
10k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Rails Girls Zürich Keynote
gr2m
94
13k
Ruby is Unlike a Banana
tanoku
97
11k
A Tale of Four Properties
chriscoyier
156
23k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Transcript
code.reviews Janos Gyerik correct clean efficient tested efficient efficient clean
clean tested tested correct correct correct tested correc orrect correc tested efficient clean
2 what is it?
3 commit commit commit review commit commit review commit accept
commit commit commit NOT code reviewed code reviewed
4 why do it?
5 UCXGVKOG catch early catch early catch early bugs bad
patterns ugliness
6
7 peer review peer pressure
8 anything that gets reviewed gets better
9 quality time savings cost savings FACT
10 correct readable efficient tested buggy messy crappy untested NOT
code reviewed code reviewed
11 information sharing NO MORE bottleneck developers
12
13 why/when NOT do it?
14 big bang development too hard to control should be
the exception, not the norm! code reviews are not practical when…
15 without supporting tools tools help doing code reviews efficiently
don’t waste your time, get them and use them! code reviews are not practical…
16 what’s required? disciplined commits
17 incremental changes small and stable logical steps at all
levels
18 one feature one purpose one branch feature
19 short-lived max 3 days feature
20 (example good branch)
21 (example bad branch)
22 one commit one logical change
23 one good commit == stable build; related changes; no
garbage; small; good comment
24
25 (example good commit)
26 example bad commit with many changes)
27 (example bad commit with garbage)
28 how to do it?
29 git fetch origin master git checkout -b feature-x origin/ma
# work work work git commit git commit git push origin feature-x # create merge request
30 Create Merge Request create; don’t assign! self-review: any WTFs?
ready? assign!
31 peer review peer pressure
32 what to review?
33 readable is it clear? easy to read? easy to
understand? FACT Code is read far more often than written!
34 correct is the logic sane? does it work? bug
suspects? -> ask!
35 efficient any performance concerns? -> ask!
36 tested unit tests included? unit test opportunities?
37 good practices Code Complete Effective Java Sonar/Findbugs/… codereview.stackexchange.com
38 how bad can it be?
39 how in-depth? •not too much •not too little •just
right •DO IT FAST
40 attitude?
41 a code review is… NOT about the developer it
is about the code
42 don’t just say something is “wrong” suggest a better
way
43 the focus is.. NOT on problems it is on
solutions
44 perfect code? don’t seek perfect seek good enough better
is good enough don’t be a pain in the ass be flexible be constructive
45
46 mistakes… it’s OK to make mistakes it’s NOT OK
to not learn from them
47