As we write code, we are thinking. (We'll assume that, anyway.) As we go along, we think:
I have to turn all these strings into operands … turning this string into an operand I have to see whether it starts with an operator … an operator is a plus or a minus … or it might not have one … if it has one, the rest of the string is the variable name … if it doesn't, the whole string is the variable name… .
At the end of coding, the program should clearly express all of those ideas. Yes, I know they're all there, embedded in our loops and nested if statements. But they are hidden. Instead, let every idea be expressed explicitly in the code.