¿Cuáles son las diferencias psicológicas en las convenciones de programación camelCase y underscore_case?

En la programación de computadoras, los espacios a menudo están prohibidos en la declaración de nombres de variables, por lo que los programadores han creado métodos alternativos para identificar los límites de las palabras en los nombres de variables: el camello y los guiones bajos son dos de los más populares.

variablesInCamelCaseLookLikeThis

variables_en_guion_bajo_case_look_like_this

No hay escasez de debate sobre la superioridad de uno u otro en Internet, incluso dentro de Stack Exchange , y en los blogs que abordan la pregunta desde una variedad de perspectivas , pero como muchas preguntas en psicología, probablemente no haya un ganador claro aquí. En cambio, es probable que haya ventajas y desventajas de cada enfoque.

¿Qué dice la literatura de ciencia cognitiva acerca de las ventajas y desventajas relativas de las convenciones de programación de caso de camello y subrayado?

Lo comprobé antes de publicar. ¡Hay una cantidad sorprendente de investigaciones sobre el tema!

Respuestas (1)

Como autor de la publicación de blog a la que se refiere , puedo afirmar que en el momento de escribir este artículo (principios de 2011) no había demasiados estudios que informaran sobre este tema específico, razón por la cual informé sobre el único estudio que encontré en ese momento. (Binkley et al. 2009). Sin embargo, le aconsejo que lea un estudio de seguimiento realizado por un grupo diferente de investigadores (Sharif y Maletic 2010). Abordan algunas de las deficiencias del estudio anterior.

El hallazgo común para ambos estudios es que camelCasing es más lento de leer, lo cual resumí en una publicación de seguimiento :

No se informaron diferencias en la precisión (a diferencia de Binkley et al.), pero, en promedio, los identificadores en caja de camello tardaron 932 ms (20 %) más que los identificadores subrayados, en línea con el 13,5 % más prolongado informado por Binkley et al. . Los resultados del seguimiento ocular también dan una idea del esfuerzo visual. Los identificadores en caja de camello requieren una mayor duración promedio de las fijaciones.

Basado en estudios más generales en ciencia cognitiva (Epelboim et al. 2009) (como mencioné en el resumen del primer estudio ) esto era de esperar:

La investigación del lenguaje natural en psicología descubrió que reemplazar espacios con letras latinas, letras griegas o dígitos tenía un impacto negativo en la lectura. Sin embargo, los recuadros sombreados (similares a los guiones bajos) esencialmente no tienen efecto en los tiempos de lectura o en el reconocimiento de palabras individuales. Eliminar espacios por completo ralentiza la lectura entre un 10 y un 20 %.

Sin embargo, no he realizado ninguna investigación de seguimiento sobre esto, por lo que definitivamente valdría la pena profundizar en citas más recientes. Los que se enumeran a continuación deberían proporcionar un punto de partida adecuado para este fin.

Binkley, D., Davis, M., Lawrie, D. y Morrell, C. (2009, mayo). Para camelcase o under_score. En Comprensión de Programas, 2009. ICPC'09. 17ª Conferencia Internacional de IEEE sobre (págs. 158-167). IEEE. [ PDF ]
Sharif, B. y Maletic, JI (junio de 2010). Un estudio de seguimiento ocular sobre los estilos de identificación camelcase y under_score . In Program Comprehension (ICPC), 2010 IEEE 18th International Conference on (págs. 196-205). IEEE. [ PDF ]
Epelboim, J., Booth, JR, Ashkenazy, R., Taleghani, A. y Steinman, RM (1997). Rellenos y espacios en el texto: La importancia del reconocimiento de palabras durante la lectura. Investigación de la visión, 37(20), 2899-2914.