| I regard engineering as a daemon that will magically give me anything, from a nice cuppa tea to a nuclear holocaust. The daemon has a strong preference for nuclear holocaust. The trick is to give it explicitly, concisely and precisely supply all the information it needs, out of the infinity of possibilities, to make a nice cuppa tea (preferably without creating a toxic waste problem). I tend to construct my code. I have the signatures of the functions at the boundary of the code visible, and then I create the data structures to hold the information required. Then I wired the boundaries to the data model and uncover... holes. Gaps. So I assume then my daemon will magically grant me all I need to plug that gap, so long as I tell it precisely what the gap is... and then test that what I have so far is "tea-like" and not emitting gamma rays. And then turn myself into the daemon to create those parts I needed to plug the gaps. So what is my mental model? A daemon with a preference for nuclear holocaust. |