The End of the Beginning
At this point in our development journey, we are nearing the end of our main development phase. We’ve hit several challenges so far, but have overcome most of them.
The biggest problem we’ve had so far has been performance. While testing and numerical adjustment should be relatively simple, the fact that our program must perform so many calculations in such a short time means that if certain values are not exactly right on the first try, the whole program can crash. This has made for some slow going in the testing and fine-tuning stage, since mistakes can take quite a while to reload and fix.
To solve this performance issue, we chose to revisit our logic and refactor any obviously inefficient code. When that seemed to have little effect, we went ahead and re-designed several large parts of our codebase in order to make things more efficient. Then, we decided to be proactive and pare-down any iterative functions to have the bare minimum number of overall iterations, so that any excessive processing time was stripped from the logic.
This approach, unfortunately, did cost us some serious time investment. Because we have a strict timeline, and because we all have a heavy course load and additional daytime responsibilities, we worked overtime and spent a few sleepless nights trying to get the entire codebase overhauled. But, after we completed this intense restructuring process, we were able to sleep much easier.
Now that we’ve designed a more efficient algorithm, testing has been much easier. I think our ability to pull together and fix the issue makes me especially grateful for my teammates, because they’ve made it incredibly easy to manage our project and work through issues as they arise. Testing and fine-tuning would have been quite a miserable task without all of us working to complete this logic overhaul, and now we’re in a great spot to move ahead and show off our alpha.
Leave a Reply