Skip to content

Smaller! - code for Agile Alliance Technical Conference 2017 workshop

Notifications You must be signed in to change notification settings

boochtek/aatc2017

Repository files navigation

Smaller! Exercises

This is the companion code to my Agile Alliance Tech Conference 2017 talk. Slides for the talk can be found at http://boochtek.com/aatc2017.

Pair (or triple) up to work on the following exercises.

Don't forget to use your resources with more info on smells and refactorings:

Stories

Start with these story-splitting exercises:

  1. Events
    • Overly detailed
    • Has When steps after Then steps
    • Checks more than 1 thing
  2. Electric Car
    • Not customer-focused
    • Tries to do too much all at once
    • Asks for the impossible

Code

Choose from among the following exercises. There's more here than you'll have time to finish during the workshop. You might want to start out with a language that you're familiar with. Or peruse them all and see which ones interest you.

  1. Installations Controller (Ruby)
    • Lots of duplicated code and nested conditionals
    • Extracted from some actual Rails code
    • There are some prewritten characterization specs if you're familiar with writing those already
  2. Roman Numerals (Java)
  3. Roman Numerals (C#)
  4. Bowling (Ruby)
  5. Bowling (JavaScript)
  6. Roulette (C++)

More

For a more extensive refactoring exercise, I'd recommend the Gilded Rose Kata. It's available in several variants in several languages. Just google for gilded rose kata plus your programming language.

For even more refactoring exercises (in a more structured fashion), I'd recommend Refactoring Workbook by William C. Wake.

You should also check out Exercism. They've got a bunch of different exercises, and support several dozen different languages. You write your code for a given exercise, and others give you feedback on how to improve it. It's free to use; just sign in with your GitHub account. You will need to install a command-line program to make submissions.

About

Smaller! - code for Agile Alliance Technical Conference 2017 workshop

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published