Skip to content

Solutions in multiple programming languages to the “99 bottles of beer” kata

License

Notifications You must be signed in to change notification settings

dcarral/99bottles-solutions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

99 bottles of beer: solutions

This repository hosts solutions in multiple programming languages to the “99 bottles of beer” kata.

Inspired by the awesome 99 bottles of OOP book, and as part of the “What is good code? Evaluating code quality” workshop, participants are asked to pair during 30 minutes trying to satisfy the provided test suite.

Do you fancy? Happy hacking! ;)

Context

After 30 minutes pairing on the problem, volunteers show and explain their solutions to the group. We all together discuss tradeoffs, design choices, etc.

Among 100+ participants, it's been difficult to find two pairs coming up with the very same solution. This wide range of coding approaches (under slight time pressure, in several programming languages and with different development environments) provides us with a solid starting point to discuss topics like:

  • XP practices such as simple design, pair programming, refactoring, test-driven development...
  • Software development concepts such as duplication tolerance, refactor aggressivity, layers of indirection, usage of conditionals, KISS / DRY / SOLID, etc.

Thus: why shouldn't we share (at least part of) the workshop experience with everyone by collaboratively creating a collection of solutions? Sparked by a question by Daniel Teske, this repository was born as an attempt in doing so.

Contributing

Adding solutions

Would you like to add your solution(s)? That's awesome, please go ahead and open a new pull request ;)

Having problems or doubts trying to do it? Don't hesitate to ask for help, you can find a “Questions, suggestions, thoughts?” section below in this README.

Improving test suites

During the early days of the workshop, participants in Berlin, Belgrade and Mallorca were asked to code on top of the upstream repository from Sandi Metz.

Due to several pairs struggling with the provided project setups as well as the detection of inconsistencies among languages and the inconvenience of the Exercism-dependant constraints, a fork was created trying to provide a smoother developer experience.

You can check out some of that work by taking a look at recent pull requests. It's been awesome to receive pull requests from workshop participants!

Any contributions in this regard would be highly appreciated, specially taking into account the amount of supported languages.

Questions, suggestions, thoughts?

Please feel free to open an issue in any of the related repositories, or alternatively drop some lines via mail or Twitter. I'll be happy to hear from you :)

About

Solutions in multiple programming languages to the “99 bottles of beer” kata

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published