Sorry if this seems like a hazy question but it's something that's been bugging me for a little while.
In my day job, some of the code I write gets pretty complex. Not that it's usually very technical but the problem domain itself is a complex matter dealing with spacial data amongst many other things. I'm pretty sure my NDA would prohibit me from giving any details of what I'm working on so, unfortunately, I'll have to keep this pretty general.
Now, I'm all for reducing complexity so I try to find the right abstractions when I can but is there any way to reduce it further by explicitly not dealing with the actual matter at hand but rather some metaphor that could be operated on and then translated into the actual result I want later?
Of course, since the area is so complicated in itself,..I've tried but failed (many times!)to find the right metaphor :-(
So my question is, has someone already done this work and found (or even half found) a structured way to extrapolate an appropriate metaphor or heuristic for a set of given programming problems?
Again, my apologies if this seems like a bit of an odd question. I'm just trying to find new ways of being a better programmer.
Thanks in advance.