Skip to content

ZachBeta/code_jam

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Code Jams

  • Pick a day and pick a topic.
  • Gather people.
  • Gather food and snacks.
  • Have fun!
  • Recommendation: Start with a code retreat

Code Retreat Core Concepts

  • 45 minutes of pairing TDD on Conway's Game of Life
  • 15 minutes of meta conversation
  • Rotate partners
  • Code should be considered "throw away"

Reasons to do a Code Retreat style event

  • More professional experience outside of coursework
  • Chance to practice your skills
  • Chance to teach/learn
  • More "ah ha!" moments

Useful tools for a Code Retreat

Tool: Git

  • Most useful workflow you'll gain up front:
$ git init
$ git add .
$ git commit -am "this code does x"
$ git status
$ git diff

Reasons to use Git

  • Less "Oh no I lost everything"
  • Less "I just want to get back to when my code worked"
  • Less copy paste rename "snapshots"
  • Less fear of experimentation
  • More obvious what changed
  • More recovering from mistakes quickly

Tool: Pair Programming

  • 1 driver
  • 1 navigator
  • 2 keyboards and mice
  • Switch regularly
    • Use a clock - Pomodoro! is pretty useful for 5-10 minute intervals
    • Write a test, switch, implement, write a test, switch
  • Play nice :-)
  • Teach/learn

Reasons to Pair Program

  • :-/ "I'd rather just work alone, I work better that way"
  • :-( "Ughhhhh, I've been stuck for 4 hours"
  • :-) "Let's talk this out"

Tool: TDD

$ gem install rspec
$ cd path/to/project
$ rspec --init
$ rspec
describe ObjectUnderTest do
  describe '#function_under_test' do
    it 'has some behavior' do
      # assert here
      expect(1+1).to eq(2)
    end
  end
end

Reasons to use TDD

  • Less "Why isn't this working the way I want?!"
  • Less print everything and rerun the application
  • Less stepping through with debugger blindly
  • More "Let's test just this one part and verify our assumptions"

Further ideas to jam on

Try these first

Try these later


Happy Hacking!

About

Some resources for jamming with code

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages