Word count: 1020

Week 14: 6th Nov - 10th Nov

Placement

Monday

Organised high level code to be much easier to read and follow. Added hit 100 commits on the project!

Tuesday

Cleaned up some old parts of the code. Implemented few key system operations based on core structure I made on Monday.

Wednesday

Worked from home and forgot my laptop charger… And therefore, I spent most of the day trying to connect to the company network from my old linux pc to no avail. Had weekly team meeting and committed minor changes I had lying around. Also changes some exceptions with enum returns.

Thursday

Got the system up and running, fixed a very annoying string related bug with help of James, turns out I simply forgot to increase varchar size in the database…

Friday

Went step by step through the whole system (few times), debugging and making small, iterative improvements to ensure smooth sailing for the Monday meeting with the customer.

Managed to cross out number of open tasks and put them down for review when Ian/Lee are back. Made good amount of progress and prepared myself for the meeting next week.


Week 15: 13th Nov - 17th Nov

Monday

Started going through the system (top-down) seeing where I can make small improvements (such as better naming, solving things I noted down as to-do and so on). The customer postponed the meeting to the end of the day which gave me time to ensure all the things I wanted to show, were in fact still working after my changes (things that aren’t covered by unit tests).

Meeting went splendidly and as Ian’s away I asked Jake to help out, by making sure I don’t babble on. Lastly the customer finally (a lot later than I would have liked) linked me to the location where more sample files are located. And as soon as the meeting was over I started digging through them to find any discrepancies.

In the end, I found few minor discrepancies which shouldn’t be too hard to account for, however the last template I had a look at would require quite a significant amount of work in order to be accounted for. This will require some investigating, but at first glance looks like it might be a right pain in the ass.

Tuesday

Finished going through the files, noting down any deviations from the file I was supplied with initially. I contacted the client about the deviations to figure out which ones the system needs to be prepared to handle.

As I was waiting for the response, I decided it would be worth going over my old code, refactoring it and writing as many (thorough) unit tests as I could. This in turn would give me at least a basic safety net, which will come in handy when making changes to account for all the edge cases I found. Not much new progress was made, although something noteworthy - I wrote set of unit test for a class, which already was covered. Anyw ho the new tests were superior and more in-depth!

Wednesday

Half-day and working from home! I received a response from the client regarding edge cases I detected. The worst of the edge cases I located is not something I need to be concerned with!

With work done, I headed down to Nottingham to meet up with friends which I haven’t seen it a while, I also attended a talk about Automated Algorithm Design presented by Thomas Stutzle.

Thursday

Forgot to note down what I worked on…

Friday

Worked on decoupling key aspects of the code in preparation to making the system more testable, and did general refactoring, seeing as I’ve improved quite a bit since I’ve written the code originally. Also, I began installing one of the product images for the team tester (Ben) to test.


Week 16: 20th Nov - 24th Nov

Monday

Separated few layers of concern, which ensures that different levels of abstraction do not mix.

Tuesday

More old logic decoupling (by old, I’m talk written few weeks/months ago), then unit testing the decoupled classes, and adding minor things to account to handle recently discovered edge cases.

Wednesday

First software design review eve; my software got absolutely shredded! I joke, most of the things that got pointed out where low level things like using var instead of explicitly declaring the type. There were few other, minor suggestions that I received, but as a whole, the review went much better than I anticipated.

Thursday

Began making the improvements, based on the feedback I received on Wednesday. One of the main things that was pointed out, was my usage of magical values everywhere. And to mock that I added a new meme to Phabricator which is to be used during morning audits whenever a magical value appears. Lastly, I updated number of existing and added a bunch of new unit tests.

Friday

I have no memory of this day…


Week 17: 27th Nov - 1st Dec

Monday

Started the week off by cancelling the meeting with the client, as no significant and tangible progress has been made since the last meeting. I proceeded by making further improvements based upon code/design review feedback and began writing implementation/change to account for an edge case in data verification.

Tuesday

Finished implementing the verification thing I began on Monday.

Wednesday

  • Code review fixes
  • Fixed thumbnail generation calling logic, thumbnails are now being generated once again!

Thursday

Fixed an issue where thumbnail generation wasn’t able to save the thumbnail image data, because the directory location did not exist. Fix simply created appropriate folder structure necessary by checking whether it exits (I started writing my own implementation for number of these checks, but I noticed that the exact implementation already existed in .NET).

Managed to do A LOT of debugging and implemented an archiving feature which was brought up during last meeting with the client.

Friday

Made improvements to auto-generation of certain data values inside the database. Had a catch-up with Ian and spent the whole morning decorating the office with Christmas music by Jake! Overall a very productive week.