Telling a Difference Between a Bad and a Good Guy

A guy with bad behaviors when drunk
It's always best to avoid such types of guys. Even if you give the a chance to give-up their drinking habits, it will not work and no matter how good they are when they are sober, it doesn't matter because it'll ruin it all when he gets a little bit of alcohol in him.
A guy that doesn't stop girls from coming and doesn't grab them from leaving! NEVER
A guy who is good at cheating will always be the first one to take initiative to flirt around girls but will turn their backs as soon as their target is about to fall for them. This is because they have already forgotten about the girl they were hitting on just a moment ago. It'll be the biggest mistake in your life to think that you will be the last girl for him.
A guy that thinks a girl is a material possession.
It's understandable that as your boyfriend you want to buy him anything and everything but sometimes a guy might take such a situation for granted and at a later point, might even request things from you. There is not a single good guy in the world who takes a girl for granted.
You'll be able to lead a happy couple/relationship life when you try to avoid the avoid types of guys.