Refactoring and Reading.

The majority of this morning and the early afternoon was spent refactoring my Java TTT code. The priority was to try and alter my Display class to allow the IO to be injected in for ease of testing and better abstraction from System.in and System.out.

Such a major class change, had some rippling effects through my code, test spies and class initialization within Main. This felt like a lot of work for such a minor change, and it highlighted an issue within my test suites where I had not suitable refactored them. Whilst refactoring, I had Clean Code sat next to me, because it is my current reading material. I was actually on the chapter called “Clean Tests”, and so I gave it a quick skim read and the section on using Domain Specific Language caught my eye, it made a lot of sense to me to see tests as written as concisely as possible, and as clearly as possible. The examples in the book are too verbose to be put into the blog here, but the point is that they follow a very simple pattern of Build-Operate-Check.

The afternoon was spent reading a bit more of Clean Code before my IPM. Before starting at 8th Light, I stopped by on a Friday Waza to catch up with everyone. At that time Ced was at the end of his first week, and I asked him how it had gone. Outside of synonyms for “really well”, he did mention that there was a lot of reading to be done. With that in mind I have tried to spend a bit of time improving my speed reading. I have tried to use an app on iOS called Acceleread which actually seemed to work quite well, although it has a few bugs and the developers are no longer supporting it. Nevertheless, it was worthwhile spending a bit of time using that application, text books are notoriously difficult to read quickly since the regular examples break up the flow, however, I feel like I’m making good headway with Clean Code. I hope to have it finished by the end of this week.