I think i have the same problem with programming as i did with math. I have a hard time understanding what each variable/piece of logic represents/is used for and then when i finally do understand it, i forget not long after finishing with it.
It's almost as if my short term(working memory) does not move over to long term memory.
- Your physical health
- Your environment
When I'm feeling off, I have great difficulty tracking items and getting a "holistic" picture. And things like allergy or another chronic illness can leave a person feeling "perpetually" off, to the point where you think it's "you" rather than the result of these symptoms.
If you are in an environment that is constantly calling your attention, it's difficult or impossible to build such a mental model. Even when you are not being specifically called upon, loud noises, people in your peripheral vision, etc. can tax you to the point of disfunction. We've evolved to pay attention to such things; some people more than others seem to find this very difficult to "overcome".
An anecdote: I had a friend who was getting crappy scores in chemistry. A large problem for him, as he wanted to go pre-med. He always studied with music on. I suggested he turn the music off. After the next test, he thanked me profusely -- his score had jumped a grade level or more.
He hadn't consciously experienced any problem with the music and his studying. But, anecdotally -- and with a strong supporting opinion on his part -- there was one.
P.S. I'll add that fMRI and the like are beginning to show that stressors literally descrease or "shut down" areas of brain function. When you feel threatened, you brain restricts "higher" function and strengthens more "basic" function. Researchers interpret this as a survival mechanism; in dangerous situations, immediate action is paramount and intensive analysis (and delay) can be deadly.
Get stressed, and you will never remember "those function parameters". Your brain simply isn't in a place to do so.