How many times have you referred to foods as being good and bad?? Or even yourself for EATING those foods as being good or bad?? Moralising food is going to cause you problems. When you think of foods as being bad and think you did a bad thing by eating them -- you do feel bad -- and that often results in you eating more of the bad food to make yourself feel better!! LOL. Thinking of foods as being bad or dangerous leads to feelings of fear, guilt and shame and only adds to our negative relationship with food!
What we need to strive for is a non-judgmental self-awareness which will in turn help us with our self control. We need to consider food as being neutral. Enjoying some birthday cake on your birthday is not a bad idea or a good idea... Perhaps just don't make it become a habit after dinner every day! The actual cake is not good or bad -- it is just cake!!
People also make moral judgements about themselves around their body size and diet. Eating too much has you thinking how bad you are; eating salad has you thinking how good you are. People do it about other people too -- Thin people are seen to be controlled, attractive and good. Overweight people are seen to be gluttonous and unacceptable. (However, I have to say - I know heaps of thin people that have THE most unhealthy diet ever!!) You need to believe that what you eat does not make you a good or bad person!! Yes, you can make wise or unwise decisions which will in turn have consequences -- but it is not morally wrong for you to eat chocolate!! Instead of beating yourself up because you ate a "bad" food -- focus on eating healthy foods because you are choosing to live a healthy life. Eating some chocolate along the way does not make you a failure as a person because you didn't avoid that "bad" food... Just focus on making healthy choices - chocolate occasionally will not ruin your life or your journey over all. Stop torturing yourself!! Stop viewing yourself and the food you eat as morally good or bad.
The best approach is to enjoy a balance. It is not balanced to eat a diet of take away and highly processed foods all the time any more than it is balanced to only eat vegetables and water all the time. Deprivation and Diets don't work. Start eating healthy.