Every human being is flawed by design, and no one is ever at their best 24/7/365. Instead of trying to hide your flaws and cover up your imperfections why not embrace them instead? Someone who truly cares about you and deserves you will accept your imperfections as well as the many admirable qualities that you have. Someone who can not handle you when you are at your worst is not in the relationship for the long run, and they do not deserve to have you when you are at your best. In life we have to take the good with the bad and realize that none of us are perfect. Someone who is only in it for the good times will quickly cut and run when you have a bad day or you are less than cheerful.
A true test of someone who deserves you is what they do when they see you at your worst, with all of your insecurities and bad traits on display. If someone truly cares then they will see past these flaws and still see the you that they know when you are at your best. Complete acceptance will bring out the best in you but that can only happen when you admit your bad habits and traits. If you try to keep your true self hidden when things are not rosy then the other person can never accept you for who you really are and earn the right to be with you when you are at your absolute best.