Mais conteúdo relacionado Semelhante a Alex Fernández - Has anyone else seen your code? - Codemotion Berlin 2018 (20) Alex Fernández - Has anyone else seen your code? - Codemotion Berlin 20183. HAS ANYONE ELSE SEENHAS ANYONE ELSE SEEN
YOUR CODE?YOUR CODE?
CODEMOTION BERLIN 2018-11-21CODEMOTION BERLIN 2018-11-21
7. WHAT WE WILL COVERWHAT WE WILL COVER
BadCodeWillKillYou
DeployingSpiders
8. WHAT WE WILL COVERWHAT WE WILL COVER
BadCodeWillKillYou
DeployingSpiders
ZenandtheArtofCodeReviews
9. WHAT WE WILL COVERWHAT WE WILL COVER
BadCodeWillKillYou
DeployingSpiders
ZenandtheArtofCodeReviews
EditorialProcess
10. WHAT WE WILL COVERWHAT WE WILL COVER
BadCodeWillKillYou
DeployingSpiders
ZenandtheArtofCodeReviews
EditorialProcess
Conclusions
17. BAD CODE IS OUT TO GET YOU!BAD CODE IS OUT TO GET YOU!
27. STATE OF THE ART SENSORSSTATE OF THE ART SENSORS
VS PRIMATE IN METAL BOXVS PRIMATE IN METAL BOX
28. STATE OF THE ART SENSORSSTATE OF THE ART SENSORS
VS PRIMATE IN METAL BOXVS PRIMATE IN METAL BOX
45. DO YOU KNOW WHAT YOU DEPLOY?DO YOU KNOW WHAT YOU DEPLOY?
46. DO YOU KNOW WHAT YOU DEPLOY?DO YOU KNOW WHAT YOU DEPLOY?
OFTEN WE DO NOT KNOW!OFTEN WE DO NOT KNOW!
47. IT MAY BE WEIRD STUFFIT MAY BE WEIRD STUFF
48. IT MAY BE WEIRD STUFFIT MAY BE WEIRD STUFF
(POTENTIALLY VERY WEIRD)(POTENTIALLY VERY WEIRD)
61. LINUX 4.17.3: 6 MLOCLINUX 4.17.3: 6 MLOC
$ grep -ir fuck linux-4.17.3 | wc -l
29
$ grep -ir kludge linux-4.17.3 | wc -l
110
$ grep -ir cludge linux-4.17.3 | wc -l
1
$ grep -ir crap linux-4.17.3 | wc -l
195
$ grep -r TODO linux-4.17.3 | wc -l
4825
62. LINUX 4.17.3: 6 MLOCLINUX 4.17.3: 6 MLOC
$ grep -ir fuck linux-4.17.3 | wc -l
29
$ grep -ir kludge linux-4.17.3 | wc -l
110
$ grep -ir cludge linux-4.17.3 | wc -l
1
$ grep -ir crap linux-4.17.3 | wc -l
195
$ grep -r TODO linux-4.17.3 | wc -l
4825
## Some Highlights
* Wirzenius wrote this portably, Torvalds fucked it up :-)
/* !!!! THIS IS A PIECE OF SHIT MADE BY ME !!! */
64. NODE.JS 10.5.0: 3 MLOCNODE.JS 10.5.0: 3 MLOC
$ grep -ir fuck node-v10.5.0 | wc -l
25
$ grep -ir kludge node-v10.5.0 | wc -l
22
$ grep -ir crap node-v10.5.0 | grep -v scrap | wc -l
9
$ grep -r TODO node-v10.5.0 | wc -l
2904
65. NODE.JS 10.5.0: 3 MLOCNODE.JS 10.5.0: 3 MLOC
$ grep -ir fuck node-v10.5.0 | wc -l
25
$ grep -ir kludge node-v10.5.0 | wc -l
22
$ grep -ir crap node-v10.5.0 | grep -v scrap | wc -l
9
$ grep -r TODO node-v10.5.0 | wc -l
2904
## Some Highlights
* **help:** fuck it. just hard-code it ([d5d5085]
(https://github.com/zkat/npx/commit/d5d5085))
* IOW it's all just a clusterfuck and we should think of something that makes
slightly more sense.
67. JAVA 10.0.1: 3.5 MLOCJAVA 10.0.1: 3.5 MLOC
$ grep -ir fuck java-10.0.1 | wc -l
1
$ grep -ir kludge java-10.0.1 | wc -l
16
$ grep -ir crap java-10.0.1 | grep -v scrap | wc -l
3
$ grep -r TODO java-10.0.1 | wc -l
2155
68. JAVA 10.0.1: 3.5 MLOCJAVA 10.0.1: 3.5 MLOC
$ grep -ir fuck java-10.0.1 | wc -l
1
$ grep -ir kludge java-10.0.1 | wc -l
16
$ grep -ir crap java-10.0.1 | grep -v scrap | wc -l
3
$ grep -r TODO java-10.0.1 | wc -l
2155
## Some Highlights
if (uri == null || uri.length() == 0) // crap. the NamespaceContext interface
is broken
// forces us to clear out crap up to the next
* TODO: wrapping message needs easier. in particular properties and
attachments.
75. UNIT TESTS ARE GREATUNIT TESTS ARE GREAT
WHEN SOMEONE REVIEWS THEM!WHEN SOMEONE REVIEWS THEM!
78. EXTERNAL TESTS ARE AWESOMEEXTERNAL TESTS ARE AWESOME
Buthavetoberepeatedeverytime
Labor-intensive
79. EXTERNAL TESTS ARE AWESOMEEXTERNAL TESTS ARE AWESOME
Buthavetoberepeatedeverytime
Labor-intensive
Microsoft:1QA/devinthe90s
80. EXTERNAL TESTS ARE AWESOMEEXTERNAL TESTS ARE AWESOME
Buthavetoberepeatedeverytime
Labor-intensive
Microsoft:1QA/devinthe90s
Today:1QA/3devs
83. ZEN AND THE ARTZEN AND THE ART
OF CODE REVIEWOF CODE REVIEW
84. JUDGED BY A JURY OF YOUR PEERSJUDGED BY A JURY OF YOUR PEERS
91. DO NOT RELY SOLELY ON SENIOR REVIEWDO NOT RELY SOLELY ON SENIOR REVIEW
100. ENCOURAGE JUNIORS TO ASK ONE QUESTIONENCOURAGE JUNIORS TO ASK ONE QUESTION
Youmaylearnsomething
101. ENCOURAGE JUNIORS TO ASK ONE QUESTIONENCOURAGE JUNIORS TO ASK ONE QUESTION
Youmaylearnsomething
...ornot
107. TREAT PEOPLE WELLTREAT PEOPLE WELL
Donotgiveorders;askquestions
Maybeaskquestionsinsteadofgivingorders?
Isn'titfastertochangeitthantoargue?
108. TREAT PEOPLE WELLTREAT PEOPLE WELL
Donotgiveorders;askquestions
Maybeaskquestionsinsteadofgivingorders?
Isn'titfastertochangeitthantoargue?
Couldyouacceptcriticismgracefully?
117. EXPLAINING YOUR CODE IS GOODEXPLAINING YOUR CODE IS GOOD
Ifyoudon'tlearnanythingyou'redoingitwrong
123. IF REVIEWS GIVE YOU TROUBLEIF REVIEWS GIVE YOU TROUBLE
Maybeyouhavesomeissuestoworkwith?
124. IF REVIEWS GIVE YOU TROUBLEIF REVIEWS GIVE YOU TROUBLE
Maybeyouhavesomeissuestoworkwith?
Corollary:
125. IF REVIEWS GIVE YOU TROUBLEIF REVIEWS GIVE YOU TROUBLE
Maybeyouhavesomeissuestoworkwith?
Corollary:
Ifyouwanttoimproveyourdevprocess,doreviews!
140. REVIEWS ARE A PROCESS, NOT AREVIEWS ARE A PROCESS, NOT A
DESTINATIONDESTINATION
Prepareformultipleround-trips