There seems to be some strange veil that gets lifted from your eyes and intuition when you have to teach someone (or something) else your thinking processes. There seems to be some self protection system built into us that keeps us from showing others our work for fear that we're getting it wrong.
It's good to find out you're getting things wrong and maybe think of it in another way. There are better ways out there to be discovered. So explain yourself to objects and people.
Use objects when you're trying to debug something in front of you. Explain yourself to colleagues when you're designing a concept. Do short presentations to your contemporaries after a project. I really encourage you to pluck up the courage to do longer presentations at local meetups. It's a scary thought but it's a great way to solidify your understanding on a subject and potentially be made aware of glaring issues you couldn't see.
I'm a big fan of the rubber duck technique. It's a method of helping you debug a piece of code by explaining it line-by-line to a rubber duck. It's surprisingly effective for revealing mistakes and improving the quality of your work, and not only for coding.