Reminds me of a different story involving Bill Gates, toilets, and user interface design: https://web.archive.org/web/20120427101911/http://jacksonfis... "At one particularly frustrating moment, I offered the following: “Bill, a shower, a toilet, and a water fountain all have mechanisms to control water flow, places where the water comes out, some sort of porcelain basin to hold the water, and a drain, but we don’t c…
There was a paragraph in that article that made me think of something >”But engineers (like everyone) see the world through their lens. Engineers look at code all day. And when they see two pieces of code doing roughly the same thing, they immediately think about ways they could eliminate the wasted effort by combining them into one piece of code that performs both functions”. I shudder when thinking of all the times…
My programming life has improved for the better when my threshold to generalise and DRY is not when I need to use some piece of code in two different places, but when I need to use it in three different places.
I am not joking, that was life changing advice for me.