the best way to use jump

-Is by doing an auto jump Like in the game Zelda . If you walk off a ledge you char should auto jump off..
No. Auto jumping is just a crutch that gives you very limited jumping while allowing you to do certain things with the environment that you would otherwise be able to jump on/over/etc but prevent the player from doing it. The player doesn't feel in control and if auto jumping isn't executed perfectly, you end up with players jumping when they don't want to, which is detrimental to their experience. No jumping is better than auto jumping. Free jumping or nothing.

Free jumping is easier from a programming/design standpoint and avoids all the extra work creating script for designated jumping locations. A cooldown is all that's needed to prevent abuse.