|Do you know where your variables are?|
On the subject of practice makes perfect, what I'd add is this; It doesn't!
Let me qualify this; The technique of repetitively practicing a given action to effectively program your brain to perform this action without the need for thought is well stablished in sports science and military training. What you are actually doing is programming your cerebellum, which coordinates movements, to coordinate a given set of movements perfectly. The big but here is that to make this truly effective, you must make sure that the practice movements are exactly as the intended movement must be when used in anger.
As a friend of mine once said, "Practice does not make perfect. Perfect practice makes perfect."
The bottom line for this in programming is that you must practice programming as you mean to program "in anger"; Don't take falsely lazy shortcuts, for example.
PS - Interestingly enough, I learned this principle largely in Long Range Rifle Shooting, in which I compete at international level.
"Stercus! Dixit Pooh. Eeyore, missilis lux navigii heffalumporum iaculas. Piglet, mecum ad cellae migratae secundae concurras."