gdcr15 in las palmas, gran canaria
TRANSCRIPT
![Page 1: GDCR15 in Las Palmas, Gran Canaria](https://reader031.vdocuments.site/reader031/viewer/2022022205/58cf97cb1a28ab65538b5a39/html5/thumbnails/1.jpg)
Global Day of Coderetreat#GDCR15
a day of learning and practice
Gran Canaria 2015
![Page 2: GDCR15 in Las Palmas, Gran Canaria](https://reader031.vdocuments.site/reader031/viewer/2022022205/58cf97cb1a28ab65538b5a39/html5/thumbnails/2.jpg)
Carlos Ble
● Software craftsman ● Author ● Consultant & trainer ● Vegan ● Organic farmer apprentice
www.carlosble.com @carlosble
![Page 3: GDCR15 in Las Palmas, Gran Canaria](https://reader031.vdocuments.site/reader031/viewer/2022022205/58cf97cb1a28ab65538b5a39/html5/thumbnails/3.jpg)
Peter Kofler
• Ph.D. (Appl. Math.)
• Professional SoftwareDeveloper for 15 years
• “fanatic about code quality”
• www.code-cop.org@codecopkofler
PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
![Page 4: GDCR15 in Las Palmas, Gran Canaria](https://reader031.vdocuments.site/reader031/viewer/2022022205/58cf97cb1a28ab65538b5a39/html5/thumbnails/4.jpg)
How do musicians practice?
![Page 5: GDCR15 in Las Palmas, Gran Canaria](https://reader031.vdocuments.site/reader031/viewer/2022022205/58cf97cb1a28ab65538b5a39/html5/thumbnails/5.jpg)
Then how do coders practice?
![Page 6: GDCR15 in Las Palmas, Gran Canaria](https://reader031.vdocuments.site/reader031/viewer/2022022205/58cf97cb1a28ab65538b5a39/html5/thumbnails/6.jpg)
Why repeat the same kata?
● de-emphasise the generation of code
● concentrate on
● the process of writing the code
● naming test cases
● the Red/Green cycle
PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
![Page 7: GDCR15 in Las Palmas, Gran Canaria](https://reader031.vdocuments.site/reader031/viewer/2022022205/58cf97cb1a28ab65538b5a39/html5/thumbnails/7.jpg)
Code Retreat Principles
● Learn through pairing (switch pairs)● Practice● Experiment● Have fun!
PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
Coderetreat, http://coderetreat.org/
![Page 8: GDCR15 in Las Palmas, Gran Canaria](https://reader031.vdocuments.site/reader031/viewer/2022022205/58cf97cb1a28ab65538b5a39/html5/thumbnails/8.jpg)
Coding Dojo Mindset
● Safe place outsidework
● We are here to learn● Need to slow down● Focus on doing it right● Collaborative Game
PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
![Page 9: GDCR15 in Las Palmas, Gran Canaria](https://reader031.vdocuments.site/reader031/viewer/2022022205/58cf97cb1a28ab65538b5a39/html5/thumbnails/9.jpg)
Constraints
● Challenges during a dojo or coderetreat
● Moving to the extreme is a way of learning
● Examples● Missing Tool (No Mouse, …)● Missing Feature (No IFs, …)
PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
![Page 10: GDCR15 in Las Palmas, Gran Canaria](https://reader031.vdocuments.site/reader031/viewer/2022022205/58cf97cb1a28ab65538b5a39/html5/thumbnails/10.jpg)
Why delete the code?
● No. Listen.● Stop trying to go faster, start trying to go
slower.● Don't think about finishing, think about
improving.● Think about practising. As a team.● That's what this day is for. Nothing else.
No. Listen. http://cyber-dojo.org/
PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
![Page 11: GDCR15 in Las Palmas, Gran Canaria](https://reader031.vdocuments.site/reader031/viewer/2022022205/58cf97cb1a28ab65538b5a39/html5/thumbnails/11.jpg)
How to take advantage
● Embrace freedom of deleting the code● Do what you always wanted but couldn't● Get out of your comfort zone● Pair with strangers in languages you do
not know● What you learn is your responsibility
● Think about what you want to practice
PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
![Page 12: GDCR15 in Las Palmas, Gran Canaria](https://reader031.vdocuments.site/reader031/viewer/2022022205/58cf97cb1a28ab65538b5a39/html5/thumbnails/12.jpg)
(OO) Software Design
PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
![Page 13: GDCR15 in Las Palmas, Gran Canaria](https://reader031.vdocuments.site/reader031/viewer/2022022205/58cf97cb1a28ab65538b5a39/html5/thumbnails/13.jpg)
Why Software Design?
PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
![Page 14: GDCR15 in Las Palmas, Gran Canaria](https://reader031.vdocuments.site/reader031/viewer/2022022205/58cf97cb1a28ab65538b5a39/html5/thumbnails/14.jpg)
OOP by Alan Kay
● Everything is an object.● Objects communicate by sending and
receiving messages.● Hiding of state.● Extreme late-binding (polymorphism).
![Page 15: GDCR15 in Las Palmas, Gran Canaria](https://reader031.vdocuments.site/reader031/viewer/2022022205/58cf97cb1a28ab65538b5a39/html5/thumbnails/15.jpg)
Abstraction and Encapsulation● Abstraction focuses on the observable behavior of
an object... ● Encapsulation focuses upon the implementation
that gives rise to this behavior... ● Encapsulation is most often achieved through
information hiding, which is the process of hiding all of the secrets of object that do not contribute to its essential characteristics.
Grady Booch says (in Object Oriented Analysis and Design)
![Page 16: GDCR15 in Las Palmas, Gran Canaria](https://reader031.vdocuments.site/reader031/viewer/2022022205/58cf97cb1a28ab65538b5a39/html5/thumbnails/16.jpg)
Conway's Game of Life
● infinite, two-dimensional grid of cells● interacts with its eight neighbours● at each step in time, transitions occur● four rules for cells depending on number
of live neighbours
http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life
PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
![Page 17: GDCR15 in Las Palmas, Gran Canaria](https://reader031.vdocuments.site/reader031/viewer/2022022205/58cf97cb1a28ab65538b5a39/html5/thumbnails/17.jpg)
Rules of Cell Interaction
● Any live cell with fewer than two live neighbours dies by under-population.
● Any live cell with two or three live neighbours lives on to the next generation.
● Any live cell with more than three live neighbours dies, as if by overcrowding.
● Any dead cell with exactly three live neighbours becomes a live cell, by reproduction.
http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life
PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
![Page 18: GDCR15 in Las Palmas, Gran Canaria](https://reader031.vdocuments.site/reader031/viewer/2022022205/58cf97cb1a28ab65538b5a39/html5/thumbnails/18.jpg)
Programming Languages?
![Page 19: GDCR15 in Las Palmas, Gran Canaria](https://reader031.vdocuments.site/reader031/viewer/2022022205/58cf97cb1a28ab65538b5a39/html5/thumbnails/19.jpg)
Get Ready!
● Find a pair.● Agree on language.● Use one computer.● Set up empty project.● Write a failing test.● Implement Game of Life.● Use TDD if possible.
![Page 20: GDCR15 in Las Palmas, Gran Canaria](https://reader031.vdocuments.site/reader031/viewer/2022022205/58cf97cb1a28ab65538b5a39/html5/thumbnails/20.jpg)
Our Sessions
● explore the problem● No Loops● No Primitives● Tell Don't Ask● free session/No Mouse/Ping Pong
PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
![Page 21: GDCR15 in Las Palmas, Gran Canaria](https://reader031.vdocuments.site/reader031/viewer/2022022205/58cf97cb1a28ab65538b5a39/html5/thumbnails/21.jpg)
Closing Circle
● What did you learn today?
● What surprised you today?
● What will you do differently in the future?
PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
![Page 22: GDCR15 in Las Palmas, Gran Canaria](https://reader031.vdocuments.site/reader031/viewer/2022022205/58cf97cb1a28ab65538b5a39/html5/thumbnails/22.jpg)
CC Images● incense http://www.flickr.com/photos/cibomahto/7651263514/● music https://www.flickr.com/photos/jeremyhiebert/11474303315● code https://www.flickr.com/photos/slworking/7726767220/● dojo http://www.flickr.com/photos/49715404@N00/3267627038/● drawing https://www.flickr.com/photos/msk13/4108489367● wants you http://www.flickr.com/photos/shutter/105497713/● languages https://www.flickr.com/photos/jurek_durczak/16235946053/● start https://www.flickr.com/photos/36821100@N04/5417281120/
PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY