Today I changed the structure of my Rock, Paper, Scissors and it went extremely smoothly, which makes me feel as if I’m on the right track this time. It is working as I want it to, but my only problem is with my tests. My program generates a random hand to play against, and I need to stub this so that I can test properly. That is my mission for tomorrow, and I’m hoping it won’t be that complicated. I have a feeling I’m going to have to extract my random hand generator, but I was thinking about doing that anyway, so I feel prepared.

My morning was devoted to the Bowling kata. I feel good about it so far, but not quite ready to record it, so I will run through it a few more times tomorrow, but I needed a little space from RPS so that I could go back with fresh eyes. I also switched from using vim back to IntelliJ, which has been really useful in learning how my Java should look and it makes refactoring so much easier.

So far, this week had been really useful in trying to apply the concepts I’ve learnt this week, and hopefully have helped cement them in my mind. The more I continue to apply them, the more intuitively I will be able to use them in the future, and the better my code will get. In spending so much time thinking about keeping my code clean, I found I haven’t really thought about my Java all that much, which is great because I am getting more and more comfortable using it. I think I will have to delve a little deeper into the language in order to stub my method, which will be interesting. I am also currently appending to strings, which may not be the best way, so I hope I’ll be able to use the StringBuilder instead. At some point, however, I am going to leave my RPS alone. Sometimes it can be hard to stop a project, because it’s so hard to say “I’m finished”, but when all my tests are passing, I feel it’ll be time to move on.

I’m not expecting my Rock, Paper, Scissors to be perfect by any stretch of the imagination. I know it’s got flaws and that’s ok. I’m learning. The key thing I want to keep in mind though, is improvement. I want to take the feedback I got in my IPM and apply it, so all I can hope is that I’ve done that.