Skip to content

lukasduspiva/cn-coderetreat-2021

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 

Repository files navigation

CN Coderetreat 2021 - ONLINE

Requirements

Base requirements for participating are:

  • 💻 Notebook/PC
  • ⚡ Stable internet connection
  • 🎥 Webcam and microphone (preferably a quite place)
  • ✍️ Have prepared empty project where you can write tests rightaway

Tools

Any participant should prepare for pairing with a developer of any platform. Therefore a couple of extra tools should be ready for use. Here is the categorized list:

IDE Built-In Tools

IDE Host Participant Requirement Any Participant Requirements
IntelliJ IDEA, WebStorm, AppCode & Android Studio Installation + Code with Me Plugin -
VS Code Installation + Live Share Plugin Installation + Live Share Plugin

Worst-Case Scenario Tools

  • git

Agenda

Time What is happening? 🤔
before 09:00 Participants arriving to meeting
09:00 - 09:30 Welcome, introduction and overview of what is going to happen
09:30 - 10:30 Session # 1 (Pair Programming and Game of Life explained)
10:30 - 10:45 Retrospective + short break
10:45 - 11:45 Session # 2 (Test Driven Development explained)
11:45 - 12:00 Retrospective
12:00 - 13:15 Lunch + socializing (big break) 🍕
13:15 - 14:15 Session # 3 (4 Rules of Simple Design explained)
14:15 - 14:30 Retrospective + short break
14:30 - 15:30 Session # 4
15:30 - 15:45 Retrospective + short break
15:45 - 16:45 Session # 5
16:45 - 17:00 Closing circle retrospective

Sessions

Random and for each session unique pairs are generated based on Stupid Sort algorithm utilizing Mulberry32 random number generator with seed 12.

Session # 1

# Participant A Participant B Pair Space
1 Zdeněk B. Róbert J. meeting room + paper
2 Martin L. Martin K. meeting room + paper
3 Filip M. Petr J. meeting room + paper
4 Kateřina K. Jiří K. meeting room + paper
5 Martin M. Filip O. meeting room + paper

Rules:

  • Game of Life

Session # 2

# Participant A Participant B Pair Space
1 Róbert J. Petr J. meeting room + paper
2 Martin L. Martin M. meeting room + paper
3 Kateřina K. Filip M. meeting room + paper
4 Filip O. Zdeněk B. meeting room + paper
5 Jiří K. Martin K. meeting room + paper

Rules:

  • Game of Life
  • TDD - ping-pong
  • max 4 lines of code per method/function

Session # 3

# Participant A Participant B Pair Space
1 Martin K. Kateřina K. meeting room + paper
2 Filip O. Róbert J. meeting room + paper
3 Petr J. Martin M. meeting room + paper
4 Martin L. Filip M. meeting room + paper
5 Zdeněk B. Jiří K. meeting room + paper

Rules:

  • Game of Life
  • TDD - ping-pong
  • 4 Rules of Simple Design
  • TDD as if you meant it

Session # 4

# Participant A Participant B Pair Space
1 Kateřina K. Martin L. meeting room + paper
2 Róbert J. Martin K. meeting room + paper
3 Filip O. Petr J. meeting room + paper
4 Martin M. Jiří K. meeting room + paper
5 Filip M. Zdeněk B. meeting room + paper

Rules:

  • Game of Life
  • TDD - ping-pong
  • 4 Rules of Simple Design
  • no conditions (if, switch)
  • mute

Session # 5

# Participant A Participant B Pair Space
1 Petr J. Martin L. meeting room + paper
2 Kateřina K. Martin M. meeting room + paper
3 Zdeněk B. Martin K. meeting room + paper
4 Jiří K. Róbert J. meeting room + paper
5 Filip M. Filip O. meeting room + paper

Rules:

  • Game of Life
  • TDD - ping-ping
  • 4 Rules of Simple Design
  • no arrays/collections
  • pure functions only

Game of Life

Rules

  1. Any live cell with fewer than two live neighbors dies, as if by underpopulation.
  2. Any live cell with two or three live neighbors lives on to the next generation.
  3. Any live cell with more than three live neighbors dies, as if by overpopulation.
  4. Any dead cell with exactly three live neighbors becomes a live cell, as if by reproduction.

For more information visit the Conway's Game of Life page at Wikipedia.

Rule # 1

generation x (n < 2)

🦠
🦠

generation x + 1

Rule # 2

generation x (n = 2,3)

🦠 🦠
🦠 🦠

generation x + 1

🦠

Rule # 3

generation x (n > 3)

🦠 🦠 🦠
🦠 🦠 🦠
🦠 🦠 🦠

generation x + 1

Rule # 4

generation x (n = 3)

🦠
🦠 🦠

generation x + 1

🦠

4 Rules of Simple Design

Consists of:

  1. Tests Pass
  2. Expresses Intent
  3. No Duplication
  4. Small

Further reading - Corey Haines: Understanding the Four Rules of Simple Design.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published