Hola:
Tampoco me gusta poner href="#" si no se pretende ir al principio de la página... Una etiqueta "a" debería usarse para enlazar o anclar, y la costumbre de usarla para ejecutar scripts viene por querer que aparezca la mano que puede conseguirse fácilmente con estilos; y no le quitamos valor semántico a las etiquetas, ese tipo de truco/costumbre suele acompañarse de la instrucción return false para cancelar el enlace (más complicaciones y ambiguedades innecesarias)
Saludos