¿Por qué a los programadores les gusta usar guiones bajos (_) tanto?

Porque los nombres de variables y otros tienen que ser descriptivos, y no pueden tener espacios en ellos.

Básicamente eso te deja dos opciones para nombres compuestos: CamelCase o snake_case. los nombres_con_colectores son generalmente más legibles, pero es más importante contar con un conjunto de reglas coherentes y cumplirlas; de esa manera puede saber de un vistazo qué es algo.

La coherencia es la razón por la que tenemos convenciones de nomenclatura, para que todos estén de acuerdo en que las expresiones certianas tienen un significado específico. Por ejemplo, en C, los identificadores con guiones bajos iniciales y finales están reservados para uso del sistema, y ​​las constantes son todas mayúsculas. Si el sistema necesita una constante llamada bollocks, se escribiría como _BOLLOCKS_, de modo que los usuarios pueden usar los BOLLOCKS constantes en sus propios programas sin tener que preocuparse por un conflicto, y puede distinguir fácilmente la diferencia entre los bollocks del sistema y tu propio.

  • Los guiones bajos son una forma útil de separar palabras cuando no se permiten espacios, especialmente cuando solo se permiten caracteres en minúscula. has_count_limit se consideraría más legible para la mayoría de los humanos que hasxcountxlimit . El uso de un carácter normal como x también podría plantear problemas cuando usa palabras que realmente contienen x: now_exit_program vs. nowxexitxprogram .
  • Puede ser útil visualmente usar diferentes sistemas de nombres para diferentes propósitos. Por ejemplo, en Javascript es una práctica común usar mayúsculas para separar palabras en funciones como hasCountLimit y guiones bajos para separarlas en variables, que contienen solo letras minúsculas has_count_limit .
  • En PHP, las superglobales como $_GET comienzan con un guión bajo específicamente porque la mayoría de los humanos no elegirían comenzar una variable con un guión bajo, por lo que es menos probable que inadvertidamente cree otra variable con el mismo nombre.

Además, los guiones bajos al comienzo del nombre de la variable generalmente denotan su naturaleza “privada inmutable externamente”. Esto fue especialmente cierto en PHP4 donde los tipos de variables privadas y protegidas no existían como atributos de objeto.