Have you been in a situation where you wanted to try out
an idea or an experiment, but the delivery pressure did not
permit it?
Do you want to push yourself to do things that you
normally would not do?
Do you want to shrink that gap now?
Do you want to learn new things from others?
Can you detach from your own creation?
If this sounds interesting, then come
to this day of CodeRetreat and have
fun realising your experiments!
4th December 2020, GBS Expedition
Getting The Most
• Shrink the gap between what you know and what
you wish you would have done without being under
pressure of your day job - its not about getting
things done.
• Ideate and realise your experiments.
• Push yourself to do things that you would normally
won’t do.
• Pair with strangers in languages you don’t know.
• Keep and open mind and make sure you learn.
• Learn to detach yourself from your own creation.
4 rules of simple design
http://c2.com/cgi/wiki?XpSimplicityRules
Logistics of the Day
• 45 minutes Session
• About 6 of them, 3 before and remaining post lunch.
• At the end of each session, delete your code.
• 15 mins between each session, we have a small
retrospective.
• Swap pairs and start again.
• Feel free to extend the last session to get the
feeling of accomplishment
• End of the day, we will have a closing ceremony
Snakes And Ladders
• We have a board with 30 cells.
• For each board, we specify the
snakes and ladders configurations
• Ladders: (11, 26), (3, 22), (5, 8), (20, 29)
• Snakes: (27, 1), (21, 9), (17, 4), (19, 7)
• Every player starts outside of the
board, and for each roll of the dice,
moves on the board according to
standard Snakes and Ladders rules.
Snakes And Ladders
• a game is over when any player reaches final cell first.
• a player can arrive at a new position by adding the
number to existing position from the throw of dice
• a player can arrive at final cell only by throwing on dice
the exact number of positions required to reach it.
• a player is promoted to head position of ladder when
they arrive at a cell containing ladder’s tail
• a player is demoted to tail position of snake when they
arrive at a cell containing snake’s head
• players take turns occupying new positions until the
game is over
No Mouse, Please
• Not allowed to touch mouse or trackpad.
• You can only use it to discover one-time the right
keyboard shortcut. After that for all subsequent uses,
your only aid is memory or your pairing partner!
• If a keyboard short-cut does not exist, help yourself by
assigning one for the next time.
Baby Steps
• Set-up this project on Source Control (Git, Hg whatever)
• Every pair has their own timer and set it for 15 minutes.
• You have 15 minutes, totally: to write the test (5 mins)
and make the code pass (5 mins) and refactor (5 mins)
it.
• If the test code is green when the timer expires, you may commit
the code.
• If the tests are not passing then you must revert the code to the
last green state (effectively deleting 5 minutes worth of work).
• If you cannot refactor to green in time, then revert the code to
last green state (effectively deleting 5 minutes worth of work).
Watch Lines/Files, Please
• <= 5 Lines Per Method.
• One Level of Indentation Per Method.
• Keep entities small, <= 30 Lines Per Class.
• Small Package/Namspace size, <= 9-10 files Per Package/
Namespace
Respect the following,
please
• Any form Getters or Setters or Properties not
allowed.
• One dot per line
No Conditions, Please
• Don’t use the else or else-if keyword or
ternary operators.
• Don’t use the switch-case.
• Strive for not using ‘if’ if possible
No ReturnValues
• None of your functions will ever return a value,
In other words, all the methods will return
void.
• You cannot modify any input variables
• No out references
Closing Retro
• What, if anything, did you learn today?
• What, if anything, surprised you today?
• What, if anything, will you do differently in
future?
Thank-you!

Code Retreat

  • 1.
    Have you beenin a situation where you wanted to try out an idea or an experiment, but the delivery pressure did not permit it? Do you want to push yourself to do things that you normally would not do? Do you want to shrink that gap now? Do you want to learn new things from others? Can you detach from your own creation? If this sounds interesting, then come to this day of CodeRetreat and have fun realising your experiments! 4th December 2020, GBS Expedition
  • 2.
    Getting The Most •Shrink the gap between what you know and what you wish you would have done without being under pressure of your day job - its not about getting things done. • Ideate and realise your experiments. • Push yourself to do things that you would normally won’t do. • Pair with strangers in languages you don’t know. • Keep and open mind and make sure you learn. • Learn to detach yourself from your own creation.
  • 3.
    4 rules ofsimple design http://c2.com/cgi/wiki?XpSimplicityRules
  • 4.
    Logistics of theDay • 45 minutes Session • About 6 of them, 3 before and remaining post lunch. • At the end of each session, delete your code. • 15 mins between each session, we have a small retrospective. • Swap pairs and start again. • Feel free to extend the last session to get the feeling of accomplishment • End of the day, we will have a closing ceremony
  • 5.
    Snakes And Ladders •We have a board with 30 cells. • For each board, we specify the snakes and ladders configurations • Ladders: (11, 26), (3, 22), (5, 8), (20, 29) • Snakes: (27, 1), (21, 9), (17, 4), (19, 7) • Every player starts outside of the board, and for each roll of the dice, moves on the board according to standard Snakes and Ladders rules.
  • 6.
    Snakes And Ladders •a game is over when any player reaches final cell first. • a player can arrive at a new position by adding the number to existing position from the throw of dice • a player can arrive at final cell only by throwing on dice the exact number of positions required to reach it. • a player is promoted to head position of ladder when they arrive at a cell containing ladder’s tail • a player is demoted to tail position of snake when they arrive at a cell containing snake’s head • players take turns occupying new positions until the game is over
  • 7.
    No Mouse, Please •Not allowed to touch mouse or trackpad. • You can only use it to discover one-time the right keyboard shortcut. After that for all subsequent uses, your only aid is memory or your pairing partner! • If a keyboard short-cut does not exist, help yourself by assigning one for the next time.
  • 8.
    Baby Steps • Set-upthis project on Source Control (Git, Hg whatever) • Every pair has their own timer and set it for 15 minutes. • You have 15 minutes, totally: to write the test (5 mins) and make the code pass (5 mins) and refactor (5 mins) it. • If the test code is green when the timer expires, you may commit the code. • If the tests are not passing then you must revert the code to the last green state (effectively deleting 5 minutes worth of work). • If you cannot refactor to green in time, then revert the code to last green state (effectively deleting 5 minutes worth of work).
  • 9.
    Watch Lines/Files, Please •<= 5 Lines Per Method. • One Level of Indentation Per Method. • Keep entities small, <= 30 Lines Per Class. • Small Package/Namspace size, <= 9-10 files Per Package/ Namespace
  • 10.
    Respect the following, please •Any form Getters or Setters or Properties not allowed. • One dot per line
  • 11.
    No Conditions, Please •Don’t use the else or else-if keyword or ternary operators. • Don’t use the switch-case. • Strive for not using ‘if’ if possible
  • 12.
    No ReturnValues • Noneof your functions will ever return a value, In other words, all the methods will return void. • You cannot modify any input variables • No out references
  • 13.
    Closing Retro • What,if anything, did you learn today? • What, if anything, surprised you today? • What, if anything, will you do differently in future?
  • 14.