Day 20

Today, as my Wednesday’s usually are, was about finalizing my work for the current iteration to be prepared for my IPM tomorrow. After last week, I’ve put a lot more into ensuring I’m ready to go. I’ve adopted the practice of running through all my projects of the week and double-checking they are ready to present, meet the requirements, and I’ve asked any questions if necessary. I feel very confident for my meeting tomorrow as I’ve improved a lot from the advice I was given last week. My presentation is much more entertaining, my tests are strong, and I’ve made a massive improvement to my coin changer that I’ve got memorized.

To start, my Tic Tac Toe assignment is fully completed. I completed the game loop, fixed any potential bugs, and cleaned things up, making sure my tests and production code look readable and good. My program works perfectly thanks to my very involved tests. Like I said yesterday, the amount of issues I fixed thanks to my tests was invaluable.

After wrapping up my project, I moved onto finalizing my Liskov Substitution Principle presentation. I added in an extra slide and practiced the lines a few times so that I can present without reading a script. I’m clocking my time in around nearly 5 minutes which is an ideal time frame. I’ll practice it once or twice tomorrow morning to be completely warmed up and ready to go.

I ended my day with more coin-changer work. When I showed it last week, Micah pointed out how my code violated OCP by having a set amount of coins that work in the program (pennies, nickels, dimes, and quarters). To remedy this, I made the coin types open-ended, allowing my program to run smoothly regardless of how many different coins are available and what their individual values are. Not only did this make my code compliant with OCP, I’ve also removed a ton of duplicate code that wasn’t needed in my first solution. An example of my coin types being open-ended is a test that passes with 68, 54, 10, and 1 cent coins to add up to 337 cents.

coin-changer