In **my opinion**, the best way to train is by communicating to your dog what is good and what is not good. When raising a kid, would you ever only tell them what they're doing well and NEVER ask to change anything? Because dogs and people don't speak the same language, it's a little tougher. Figure out what motivates your dog (a toy? a treat? a game of tug? Praise?) and then mark and reward anything that it does well with that. When your dog does something wrong, give a correction to mark the incorrect behavior. When done correctly, this is communicating to your dog 'this is what I want you to do, you're doing well' and 'this is what I don't want you to do, change it'.