I first planned these speed challanges as a concentrated 3-4 hours of work in which I’d finish what I can. I started it a week ago and due to work/real life considerations, this was not possible. However, I did find 30 minutes at the end of each day to finish this mini-project – and I think it was well worth the time.
Staying concentrated and task-oriented at the end of a work day wasn’t easy. However, since the entire design was well-written as Use-Cases. Each Use-Case was a function or a module and their contents was laid out as comments inside to follow each line or two with the code. However, the final touch-ups did not appear in the Use-Case as I thought. Highscores and Custom games were not mentioned and were programmed in a single session without pre-design or documentation.
Since these features were not documented, I did have to invest more time and be more alert writing slightly more complex code. Heck, it took about 10-15 minutes more – but considering the fact that this was a pilot for a large-scale project, I think it might work for the best to come back to the drawing board before adding / changing significant features.
Debugging took less time as well – most of the scenarios were well thought in the design stage of the Use-Case and covered about 80% of the bugs I usually end up fixing in this stage. It will be more interesting to re-program a more complex past project such as Checkers / Chess (with AI) to test whether time spent on Use-Cases takes less time than fixing the errors caused by not using them. In such small scale project, the time spent on either is insignificant but does give insight on the time it will take on larger projects.
I’ve attached the application here for impression: Minesweeper