camelCase vs snake_case: Cuándo usar cada uno

5 min de lectura

camelCase y snake_case son las dos convenciones de nombres más comunes en programación. Elegir la correcta depende del lenguaje, framework y contexto.

¿Qué es camelCase?

camelCase une palabras sin separador, capitalizando la primera letra de cada palabra excepto la primera: myVariableName, getUserById, totalItemCount.

¿Qué es snake_case?

snake_case separa palabras con guiones bajos en minúsculas: my_variable_name, get_user_by_id, total_item_count.

Comparación directa

CaracterísticacamelCasesnake_case
SeparadorNinguno (mayúscula)Guion bajo (_)
Primera letraMinúsculaMinúscula
LegibilidadBuena para nombres cortosExcelente para nombres largos
Velocidad de escrituraMás rápido (sin guion bajo)Más lento (tecla guion bajo)
LongitudMás cortoMás largo

¿Qué lenguajes usan cuál?

ConvenciónLenguajes / Frameworks
camelCaseJavaScript, TypeScript, Java, Swift, Kotlin, Dart, JSON
snake_casePython, Ruby, Rust, Elixir, PHP (parcialmente), SQL, C (parcialmente)

Cuándo usar camelCase

  • Variables y funciones de JavaScript o TypeScript
  • Nombres de métodos y variables en Java
  • Claves de objetos JSON en APIs centradas en frontend
  • Identificadores de Swift y Kotlin

Cuándo usar snake_case

  • Variables y funciones de Python (PEP 8 lo exige)
  • Nombres de métodos y variables en Ruby
  • Nombres de tablas y columnas de bases de datos
  • Campos de API REST para backends Python/Ruby
  • Nombres de variables de entorno (en UPPER_SNAKE_CASE)

Conversión

Usa nuestro conversor camelCase o conversor snake_case, o prueba el hub de conversión de case para ver todos los formatos a la vez.

El problema del código mixto

La situación más común donde los desarrolladores encuentran ambas convenciones es en la frontera entre un backend Python/Ruby (snake_case) y un frontend JavaScript (camelCase). La solución típica es convertir las claves de respuesta API en la frontera usando middleware o una función utilitaria.

Resumen

No existe una convención universalmente «mejor». Sigue el estándar del lenguaje o framework que estés usando. La consistencia dentro del proyecto importa mucho más que qué convención elijas.