I have developed quite a few programs varying in quality and size over the years. I however feel that for every program I develop I find that my previous programs lack in quality, and sometimes I even get a sense of shame in having written that code. This prevents me from submitting anything to GitHub at all, thinking that I will regret it later as I learn more. There is also the problem of documentation - large portions of code that I write lack comments, as at the time of writing the code seems "obvious".
So what do you think? Is it worth re-working the code, adding comments & code refactoring in order to present some sort of portfolio or should I wait until I feel I have reached a level of maturity and standard of quality?