So basically all I am doing right now is cleaning up the codebase of P3 as much as I can. There were some instances where refactoring is needed, especially for the caching mechanism part. I’ve mentioned it before, but I just want to emphasize how important tests are when it comes to refactoring. If it wasn’t for them, I would probably be too afraid to modify anything and risk breaking things that work at that point, leaving the code be rotten as it is. Any future interns that will take over the project would feel the same as well, and have to deal with the rotten codebase for ages to come. You see, whatever I do right now with the project, would have some impact on its future, one way or another. In times like this, we should consult back with the fundamental Object-Oriented design principles, as well as design patterns and find places where they are applicable.
Throughout my time with the project, there were quite a few major changes that I needed to put in place. One of it was the fact that we would not have a single database file that would be stored on our server, but the database file would be stored in user’s storage instead. The result of doing those changes break most of my tests, but incrementally I fixed them and get them to pass again. I’m still in the middle of getting all of them to pass, however soon it will be completed.
As you can see, there is still much to be done, but time does not wait for anyone. There are things I want to clean up for the front end as well, although I have not done anything about it for now. I would probably be able to start on it next week. Well this is pretty much what I have been doing. There’ll be more to come in future blogs.