Español

Texto y herramientas cotidianas · Text Toolkit

camelCase, Snake_case, kebab-case y PascalCase: donde se utiliza cada uno

· Antecedentes

conversión de caso identificadores flujo de trabajo del desarrollador

Un identificador de perfil escrito en estuche camel, Pascal, serpiente y kebab
Ilustración de vector original de ToolAcre

Un recorrido por las convenciones de nomenclatura: de dónde provienen, qué idiomas y ecosistemas esperan cuáles y por qué los nombres de archivos, las URL, las columnas de bases de datos y las claves JSON van en una dirección diferente.

Cinco nombres para una cosa: userProfileId, user_profile_id, user-profile-id, UserProfileId y USER_PROFILE_ID

La frase "ID de perfil de usuario" puede convertirse en `userProfileId`, `UserProfileId`, `user_profile_id` o `user-profile-id` sin cambiar sus palabras. La diferencia visible es dónde aparecen los límites y si la primera palabra comienza con mayúscula. ToolAcre genera esos cuatro formularios directamente a partir de la misma entrada, lo que hace que sus diferencias estructurales sean fáciles de comparar.

Un `USER_PROFILE_ID` completamente en mayúsculas es otra convención de proyecto útil, pero no es una opción combinada separada en el caso de la fuente del convertidor. El conjunto de herramientas expone las transformaciones de mayúsculas y minúsculas de forma independiente. Si una base de código usa constantes en mayúsculas, conviértala a mayúsculas y luego a mayúsculas en lugar de afirmar que el menú de mayúsculas realiza ambos pasos a la vez.

Cuatro conversiones demostradas por Text Toolkit, además de una forma constante en mayúsculas ensamblada por separado

`camelCase` comienza con una palabra en minúscula y pone en mayúscula el inicio de cada palabra siguiente. `PascalCase` aplica la misma forma de palabra unida y también escribe en mayúscula la primera palabra. En ToolAcre, ambas transformaciones comienzan con el mismo divisor de palabras, por lo que la puntuación y los límites de casos existentes se interpretan antes de ensamblar la salida.

Muchos equipos asignan las dos formas a diferentes tipos de nombres, pero el repositorio no establece una regla de lenguaje universal ni un historial para esa división. Trate una guía de estilo local, un linter, una API de marco o un código cercano como autoridad. El convertidor cambia la forma ortográfica; no determina si un nombre representa una clase, función, variable o componente.

camelCase y PascalCase se diferencian por la primera letra; la historia de su lengua está fuera de la evidencia del repositorio

`snake_case` reduce cada palabra detectada y une los resultados con guiones bajos. Para `User Profile ID`, ToolAcre devuelve `user_profile_id`. Los separadores permanecen visibles, lo que puede ayudar cuando los nombres pasan a través de sistemas que no preservan las mayúsculas de manera confiable, pero ese beneficio práctico no es una prueba de que todas las bases de datos, idiomas o servicios esperen guiones bajos.

Utilice la convención ya definida en el destino. Un servicio Python puede tener una política, un esquema SQL otra y una carga útil serializada una tercera. ToolAcre no puede inspeccionar esos contratos. Su promesa confiable es más limitada: `toSnakeCase` detecta palabras, cada una en minúsculas e inserta `_` entre ellas sin decidir si el destino permite o prefiere ese resultado.

la salida de Snake_case se admite directamente; Las expectativas del ecosistema y SQL dependen de cada proyecto.

`kebab-case` usa las mismas palabras en minúsculas pero las une con guiones, lo que produce `user-profile-id`. Esa forma es visualmente clara en lugares donde se acepta un guión como datos, como un segmento de ruta configurado o un nombre de archivo definido por un proyecto. No es un identificador de JavaScript porque el analizador puede leer un guión como operador en lugar de parte de un nombre.

El esquema enumera clases CSS, atributos HTML, indicadores de línea de comandos y slugs de URL, pero la biblioteca de texto no define las reglas de esos consumidores. Confirme la sintaxis de destino antes de realizar la conversión. ToolAcre también tiene una función `slugify` separada con plegado acentuado, selección de separadores, recorte y manejo de longitud opcional, por lo que la conversión de kebab normal no debe presentarse como una validación completa de URL-slug.

la salida de kebab-case se admite directamente; Los usos válidos dependen de la sintaxis circundante.

Los límites son el lugar donde las convenciones de nomenclatura se vuelven operativas en lugar de cosméticas. Un objeto de navegador puede usar una ortografía mientras que una carga útil de API o una columna de base de datos usa otra. Haga que esa asignación sea explícita en un adaptador en lugar de dispersar las conversiones entre vistas, consultas y lógica empresarial. Una ventaja predecible mantiene la coherencia de cada modelo interno y facilita la localización de las discrepancias.

Evite convertir valores arbitrarios simplemente porque parecen identificadores. El divisor de palabras trata la puntuación como límites y reconoce transiciones seleccionadas entre minúsculas, mayúsculas y dígitos. Esto es útil para nombres, pero puede alterar claves cuya ortografía está fijada externamente. Conserve las claves de contrato exactamente a menos que la interfaz receptora documente una asignación bajo su control.

Ejemplo resuelto: convertir un identificador a través de todas las convenciones y decidir cuál pertenece a cada lugar en un proyecto pequeño

Considere una pequeña aplicación con la frase `user profile ID`. ToolAcre produce `userProfileId` para el caso de camello, `UserProfileId` para el caso de Pascal, `user_profile_id` para el caso de serpiente y `user-profile-id` para el caso de kebab. Cada salida lleva las mismas tres palabras detectadas, mientras que las mayúsculas y el separador insertado codifican la forma seleccionada.

Un proyecto práctico podría mantener `userProfileId` en un objeto JavaScript, asignarlo explícitamente a `user_profile_id` en un límite de persistencia y reservar `user-profile-id` para una ubicación cuya gramática acepte guiones. Las opciones exactas pertenecen a ese proyecto. La parte importante es documentar cada límite y probar el mapeo en lugar de adivinar repetidamente por la apariencia.

Lo que esto no cubre: la notación húngara y los debates sobre las abreviaturas dentro de los identificadores

Esta comparación no establece la ortografía de las abreviaturas. La implementación convierte las palabras detectadas en minúsculas antes de reconstruirlas, por lo que una entrada que contenga `HTTP` puede surgir como `Http` dentro de la salida Pascal o camel. Si un equipo prefiere `Http`, `HTTP`, `Id` o `ID` es una política de nombres que necesita una excepción explícita fuera de estas transformaciones generales.

Tampoco cubre el historial de notación, los estándares del lenguaje ni todas las gramáticas de identificadores válidos. Esas afirmaciones requieren fuentes más allá de los archivos de herramientas utilizados para este artículo. ToolAcre demuestra transformaciones de texto deterministas y documenta una limitación clave: un compuesto escrito sin ningún límite detectable no siempre se puede dividir en las palabras que una persona pretendía.

La política de abreviaturas y el historial de notación están fuera de la evidencia del convertidor.

Ningún caso es universalmente correcto. Un nombre es útil cuando sigue al contrato y sigue siendo reconocible para las personas que mantienen esa capa. Comience con la convención que ya está presente, mantenga un formulario dentro de un límite y traduzca solo cuando otra interfaz lo requiera. La coherencia reduce las diferencias incidentales sin pretender que cada ecosistema comparta una regla.

Cuando un límite requiere otra forma, pegue el identificador en el convertidor de cajas de Text Toolkit e inspeccione las cuatro salidas antes de aplicar una. La operación se ejecuta en el navegador y el manifiesto indica que el texto no se envía a un servidor ni se guarda automáticamente. Utilice el resultado como un mapeo deliberado, luego deje que las pruebas del proyecto y las comprobaciones de estilo locales confirmen la elección final.