Never punish your pet for coming to you or by calling it. Always enforce commands that you give, and don't constantly repeat commands. Don't let your furry friend ignore a command. If your not serious about enforcing a command, don't give it. Use timing as a form of communication with your animal.
Timing is one of the key elements of canine education.
It does not matter what teaching method you use, work at developing the proper timing for each technique. Reinforce desirable behavior. Do not reinforce undesired behavior. Do not punish desirable behavior. Such as having your puppy eliminate outside and then immediately leaving the puppy.