One of the lessons of refactoring is that things go bad when you're trying to do too much. Some typical refactoring advice:
- "A method should do one thing."
- "A class should handle one concern."
- "If you need to explain what you're doing with comments, you're probably trying to do too much."
Life is not programming. But my experience is that most of the time when I get stuck in life, as in programming, it's because I'm trying to do too much. One of the clues about this is when I arrive at the top (or bottom) of the stairs and have forgotten why I've just gone up (or down). Another clue is when I have a to-do list that's longer than the 5 - 9 things the human brain is capable of keeping in current memory at one moment. (My brain tends closer to 5 than 9.)
Minimalism has always appealed to me. I realize that it's not for everyone. Some people prefer horror vacui. To each his (or her) own.
Also, life is not a controlled environment the way programming is. So the metaphor is not perfect. You can't always simplify things as much as you'd like. And some things (and people) simply defy explanation. There's no use becoming a legalist about it.
All this to say, as the new year fast approaches, one useful habit in lieu of resolutions may be to do a little life refactoring: find the few things, maybe the 1 thing, that is really the important thing here, and just do that.