Somewhat ironically, given yesterday’s post, I found a way of making my application even simpler today.
I don’t want to go into the specifics, because this site is about general lessons, but I didn’t notice this simplification yesterday.
It involved changing one of the dependencies, and in my head yesterday I’d viewed them just as “fixed” points that I had to work around. Luckily, I was able to change them, and so make what was coming in simpler.
Once I could do this, it simplified the whole internal workflow – basically rather than splitting something into two arrays and searching either of them, I just left it as one and searched it all as once.
I think the lesson is, when you look at a problem, look at all parts of it. A friend of mine at work often says, “What’s the exam question here?”. I think it’s a good way to look at it: often people get so bogged down in the detail, they forget what it is exactly they’re trying to do.