Hidden Slide Slower
a day like no other
December 14, 2013
Coderetreat
Hidden Delay
2200 Developers
160 Locations
6 Continents
20 Time zones
Hidden Slide Slower
JetBrains tools help professional developers simplify their challenging tasks, automate the routine ones and adopt best development practices. We make tools for .NET, Java, PHP, HTML, JavaScript, Ruby, Python, Objective-C developers, as well as team collaboration tools. www.jetbrains.com
Globe Sponsor
Hidden Slide Slower
A software company and community of passionate individuals whose purpose is to revolutionise software creation and delivery, while advocating for positive social change. www.thoughtworks.com
Globe Sponsor
Hidden Slide Slower
GitHub is the best place to share code with friends, co-workers, classmates, and complete strangers. Over four million people use GitHub to build amazing things together. github.com
Globe Sponsor
Hidden Slide Slower
Continent Sponsors
Corey Haines
Software development is a craft and as practitioners we need to understand and deliberately work on expanding our skills so we can deliver what our clients need, when they need it and in a sustainable way.
http://leanmagazine.net/lean/software-craftsmanship/
NO PRESSURE
feel free to experiment
NO PRESSURE
do not complete the task but master it
FORMAT of the DAY from 10:00 to13:00
MORNING
from 13:00 to14:00
LUNCH
from 14:00 to17:00
AFTERNOON
FORMAT of the DAY
CODING
1. PASSES ALL ITS TESTS 2. CLEARLY EXPRESSES INTENT 3. CONTAINS NO DUPLICATION 4. HAS NO SUPERFLUOUS PARTS
SIMPLE DESIGN
“DELETE” YOUR CODE
AFTER EACH SESSION
WE LOVE TO SEE MULTIPLE PROGRAMMING LANGUAGES
• AVOID TO USE PRIMITIVES • AVOID TO USE ELSE IN
CONDITIONS • EXTREME TELL DO NOT ASK • MAX OF 5 LINES OF CODE PER
METHOD • PING PONG PROGRAMMING • TRY TO USE DIFFERENT
CONCEPTS (GRID GAME CELL...) AS A CENTER
VARIATIONS
• AVOID TO USE CONDITIONS • TRY TO GUESS THE RESULT
OF TESTS • DO NOT USE ARRAYS • USE ONLY INTERACTION
BASED TESTS • USE ONLY STATE BASED
TESTS • ALL METHODS RETURNS VOID
VARIATIONS
• DO NOT TALK WITH YOUR PAIR • TDD AS IF YOU MEANT IT • DO NOT USE THE MOUSE • ONLY USE AUTOMATIC
REFACTORINGS • OCP STYLE
VARIATIONS
THE GAME OF LIFE IS A TWO DIMENSIONAL GRID OF SQUARE CELLS EACH OF WHICH IS IN ONE OF TWO POSSIBLE STATES ALIVE OR DEAD
AT EACH STEP IN TIME EVERY CELL INTERACTS WITH ITS 8 NEIGHBORS FOLLOWING 3 RULES
1. ANY LIVE CELL WITH FEWER THAN 2 LIVE NEIGHBORS DIES OF LONELINESS
2. ANY LIVE CELL WITH MORE THAN 3 LIVE NEIGHBORS DIES OF OVERCROWDING
3. ANY DEAD CELL WITH EXACTLY 3 LIVE NEIGHBORS COMES TO LIFE OF WARMTH
LIFE EVOLUTION 1 2 3
LIFE EVOLUTION 1 2 3
LIFE EVOLUTION 1 2 3
May the source be with you
Happy coding!