Skip to content

intenex/helldoku

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Helldoku

Overview

Welcome to Helldoku! Hope you enjoy your stay. This was created for an App Academy bonus project, and I decided to go a little overboard with it.

There are ten assorted bugs in here of various difficulties and types - I've promised up to $250 for the first person to solve this properly and correctly identify all ten bugs before the start of our in person cohort on March 11th (50 to start and 10 a day for every day the problem isn't solved up until the beginning of the cohort), just to have a little fun and get a little actual interest in this.

If you find yourself fixing way more than ten bugs, chances are you've done something wrong. I'd recommend not randomly guessing at fixes, as the code is sufficiently tangled up that you're likely to create more issues as you wade your way through guesses. The code should be very readable and understandable, if you take the time to do so and actually walk through each step of debugging what's going on.

In the course of writing this, I was actually shocked at how difficult it was to hide my tracks from Ruby's very helpful error messages and the even more all-powerful seeing eye of Byebug. I'm still a little terrified that this is far too trivial for anyone who knows how to properly read error messages and employ Byebug, but that's what the increasing reward function is for - we'll hopefully be able to see just how hard it really is, and if it does prove to be too trivial, at least we'll find out shortly and at lower economic cost to myself.

The bugs are all trivial to fix once identified - you should never have to find yourself writing whole methods or any other kind of substantial code. The point of this exercise was not to make people write code - it was to get them to really become proficient at reading even the most byzantine code and really understanding what's going on at each step to work backwards to debug anything quickly. You shouldn't have to write more than 100 characters of code to debug the entire program, and even that is on the higher end of the likely range. If you knew exactly what to fix, it would take you about five minutes to fix everything up.

To make this as explicit as possible: if you find yourself writing any method, no matter how small or how few lines, you're doing something wrong and on the wrong track.

As a final note - some bugs don't crash the whole program, and are sometimes a little unpredictable in their behavior. Once you're able to get the game successfully running for the first two turns with no immediate issues, I'd recommend one final run-through beginning to end, actually solving the Sudoku puzzle, to make sure you haven't missed anything.

Oh and - please don't cheat by referencing methods in a working Sudoku game or, worse yet, copy/pasting methods from a working game into this one. Defeats the purpose of getting really comfortable with any kind of code, no matter how tangly :).

Cool, that's it! Hope you enjoy this as much as I did making it :) 

About

Sudoku with ten great bugs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages