Name Last modified Size Description
The FizzBuzz test was conceived by Irman and posted here.
It was to be used as a method for weeding out applications for developer positions who couldn't code anything and the original test instructions were to:
Write a program that prints the numbers from 1 to 100. But for multiples of three print "Fizz" instead of the number and for the multiples of five print "Buzz". For numbers which are multiples of both three and five print "FizzBuzz".
ANY developer should be able to write a solution to this and many did in the comments of the original post and other posts that referenced it. Unfortunately, as a number of bloggers pointed out, many of the people who rushed to post solutions GOT IT WRONG! Mostly this was a result of just not reading those three sentences carefully enough. I know, you'd think you wouldn't have to re-read those...
The FizzBuzz Overthink began as a response to so many people getting it wrong. It's goal was to answer the question of what would happen if you treated FizzBuzz as if it were a real application for a client. What would it look like if you sensibly designed it as a standard object oriented application with unit tests and full documentation?
It is our goal to, with your help, expand the FizzBuzz Overthink project to include examples from as many languages as possible. If you'd like to help just check out the latest version at the following URLs for your favorite Source Control Managers:
Add a translation of the FizzBuzz Overthink
into your favorite language, or a language you think people could use a practical example of
and when you're done use the darcs send command to email your patch to
FizzBuzzOverthink (this package) and all the files contained herein are
Copyright (c) Katherine Rhodes ( masukomi at masukomi dot org )
and distributed under the following license unless specified otherwise.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
Everything under the perl/lib directory is owned and originally distributed by
other people except for the files in perl/lib/FizzBuzz which are subject
to this license.