Abstraction Breeds Complexity
I have been working on some code today to essentially mirror the contents of a database into a number of lists in SharePoint. Normally this wouldn't be that difficultonly the client asked for something that changed the game entirelythey wanted it to be flexibleto allow the database to change in the future.
Making a generic tool is a very different proposition to making a specific tool, because you suddenly have to abstract everything. You find yourself having flashes of inspiration while designing the thing on paper, but then only realising the enormous complexity of it all when you start to code.
Working on abstracted code is hardit takes time to piece things together in your head before you start writing code. The programming might compile, buy you won't know if it really works until you run itand testing will become a forest of tangled scenarios.
As is usual when working on anything half-way complex, I only really started to make good progress towards the end of the dayand sprinted through writing all manner of functions with minutes of the day remaining.
Roll on tomorrow, and an attempt to pick apart the loose ends, and unfinished ideas. I wonder if I will understand my own disrupted thoughts ?