Today at work I'm trying to encourage someone to recursively call design patterns. If you have no idea what I'm talking about, you are not alone. Many people will be happy to never learn highly adaptable application strategies.
It honestly can provoke headaches just from thinking about it.
I find the same about health and nutrition. People get a headache just thinking about it. There's just so much info and half of it contradicts the other. Which end is up? Just tell me what to EAT!
But once you break through the terminology and get your hands dirty, you realize it really isn't that hard. It's just accounting for your variables and tracking them for a while.
Manipulate Your Variables
Once you know what to expect, you make minor manipulations to aforementioned variables. Record the new values and verify they are heading toward the right direction.
So many times in programming and in weight loss, people are trying to write one application that covers everything the first time. Then they wonder why their weight is out of bounds and their energy is null.
It doesn't work like that.
Track your variables and try to account for exceptions as they occur. Break complex functions or strategies down to simplistic tasks and look for ways to replicate them.
When something isn't working as anticipated, debug the process. Locate where the natural stream diverges and work on that aspect until the natural flow leads to where you want it to go. Sure, there are so fringe cases which will still throw you for a loop but don't let it crash your entire application.
Handle it. Debug it. Squash the bugs you find. Carry on.