#Makers Academy week 1: Boris Bikes Challenge
London's Boris Bikes (well, 'Santander Cycles') are awesome. For a small fee, anyone can hire out a bike and ride it around London. Bikes are located at Docking Stations dotted throughout the city.
This project was completed using TDD and pairing. The daily changing pair programming nature of Maker's means that the project code base can change on a daily basis. Therefore, there are seperate (often ophan) branches for each session and these have not been merged due to differences in approach.
Let's go back several years, to the days when there were no Boris Bikes. Imagine that you're a junior developer. Transport for London, the body responsible for delivery of a new bike system, come to you with a plan: a network of Docking Stations and bikes that anyone can use. They want you to build a program that will run all the Docking Stations, simulate all the Bikes, and emulate all the infrastructure (vans, repair staff, and so on) required to make their dream a reality. They call it - guess what? - 'Boris' Bikes, and they're offering a tasty sum of money.
Challenges
- Setting up a Project
- Working with User Stories
- From a Domain Model to a Feature Test
- Errors are good
- From Feature Tests to Unit Tests
- Passing your first Unit Test
- Back to the feature
- Back to the unit
- Building a bike
- Making Docking Stations get Bikes
- Using Instance Variables
- Raising Exceptions
- Limiting Capacity
- Using Complex Attributes
- The Single Responsibility Principle
- Removing Magic Numbers
- Initialization Defaults
- Dealing with Broken Bikes
- Isolating Tests with Doubles
- Mocking Behaviour on Doubles
- Men with Van