Detector de estilo de identificadores
Escriba un nombre de su código y sepa qué convención usa: getUserName es camelCase y se separa en get, user y name. También reconoce PascalCase, snake case, kebab-case y la variante en mayúsculas, y devuelve siempre las palabras en minúsculas. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Texto
- getUserName
- Identificador
- getUserName
- Estilo de mayúsculas
- camelCase
- Palabras
- get, user, name
- Número de palabras
- 3
Las herramientas de cambio de nombre, los linters de estilo y las canalizaciones de transformación de código no pueden reescribir un símbolo hasta saber qué convenio usa ya ese símbolo. Cada estilo oculta los límites de palabra en un sitio distinto: mayúsculas interiores, guiones bajos o guiones. Este detector de estilo de identificadores inspecciona un solo identificador, nombra el convenio y devuelve las palabras componentes en minúsculas para que quien llama pueda reconstruir el mismo nombre en otro estilo sin adivinar. El algoritmo es un recorrido determinista de caracteres: sin modelo, sin red y sin reloj.
Qué significa detectar el estilo de un identificador y cómo se reconoce cada convenio
El estilo de nombrado de un identificador es el convenio con el que una comunidad de lenguaje de programación pega varias palabras inglesas en un solo símbolo. camelCase empieza con una letra minúscula y marca cada palabra posterior con una mayúscula, por eso getUserName se lee como get, user y name cuando las mayúsculas se tratan como fronteras.
Este detector también informa tres extras honestos que las herramientas de cambio de nombre encuentran a diario: lower para un token minúsculo único como user, upper para un token mayúsculo único como OK, y mixed cuando se combinan guiones bajos, guiones y mayúsculas interiores en un mismo símbolo, por ejemplo get_userName. La clasificación mira primero los separadores y después la capitalización. Un nombre que contiene a la vez guiones bajos y guiones es mixed.
Las partes minúsculas separadas por guiones son kebab-case. Sin separadores, una minúscula inicial más una mayúscula posterior es camelCase, y una mayúscula inicial más una minúscula posterior es PascalCase. El propósito de la página es la detección más una lista estable de palabras, no la conversión: ya existen convertidores dedicados para pasar una frase a un estilo de destino.
Preguntas frecuentes
¿Qué estilos de nombrado de identificadores reconoce este detector?
Los nombres de un solo token devuelven lower o upper. Los separadores combinados o la capitalización mixta devuelven mixed.
¿Cómo se obtienen las palabras componentes a partir de un identificador?
El motor corta en guiones bajos y guiones, y después en bordes camelCase (minúscula o dígito hacia mayúscula, acrónimo hacia Titlecase, y letra hacia dígito). Los tokens se ponen en minúsculas en el arreglo words.
¿Qué ocurre con un guion bajo inicial como en _foo_bar?
El campo identifier sigue reproduciendo la grafía original y los huecos vacíos de dunder no se conservan como palabras.
¿En qué se diferencian camelCase y PascalCase?
Solo en la primera letra. camelCase empieza en minúscula, como getUserName, y PascalCase empieza en mayúscula, como HttpServer. Las dos marcan cada palabra siguiente con una mayúscula en lugar de un separador.
¿Esta herramienta convierte un nombre a otro estilo?
No: indica el estilo que ya tiene y devuelve sus palabras en minúsculas, por ejemplo get, user y name. Con esa lista usted puede reconstruir el mismo nombre en otra convención sin adivinar dónde terminaba cada palabra.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/dev/identifier-case-detect \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"getUserName"}'const res = await fetch("https://api.kit.forhosting.com/dev/identifier-case-detect", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "getUserName"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/identifier-case-detect",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "getUserName"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/identifier-case-detect", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"getUserName"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"getUserName"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/identifier-case-detect", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"text": "getUserName"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.identifier_case_detect",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_chars | 4096 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Un identificador como getUserName es camelCase; UserProfile es PascalCase; http_status_code es snake_case; content-type es kebab-case; y MAX_RETRY_COUNT es SCREAMING_SNAKE_CASE. Los identificadores vacíos, ausentes o ilegales fallan con invalid_input en lugar de un reparto vacío silencioso. Las llamadas API correctas se facturan a $0.002; los fallos de validación no se cobran.
Qué significa detectar el estilo de un identificador y cómo se reconoce cada convenio
PascalCase, también llamado UpperCamelCase, empieza con mayúscula y es la forma habitual de los nombres de tipo, los componentes React y las clases de C#: HttpServer es http más server. snake_case escribe todas las letras en minúscula y une las palabras con un solo guion bajo, el valor predeterminado de las funciones Python, los métodos Ruby y muchas columnas SQL. kebab-case hace el mismo trabajo con guiones y aparece en clases CSS, slugs de URL y nombres de cabecera HTTP como content-type. SCREAMING_SNAKE_CASE es snake_case en mayúsculas completas y se reserva para constantes y claves de entorno como MAX_RETRY_COUNT. Las partes minúsculas separadas por guion bajo son snake_case; las mismas partes en mayúsculas son SCREAMING_SNAKE_CASE. Los guiones bajos iniciales usados para privacidad o dunders de Python se quitan antes de nombrar el estilo, de modo que _foo_bar sigue siendo snake_case y __init__ sigue siendo snake_case, mientras que el identificador devuelto aún reproduce la grafía original.
Contrato de entrada, partición en palabras y comportamiento ante errores
La longitud está limitada a cuatro mil noventa y seis caracteres: un pegado más largo falla con un mensaje explícito de límite en lugar de un corte silencioso. El identificador debe empezar por una letra, un guion bajo o un signo de dólar y, a continuación, usar solo letras ASCII, dígitos, guiones bajos o guiones. Se rechazan los guiones iniciales o finales y los guiones consecutivos porque no son nombres legales en los lenguajes para los que está hecha esta herramienta. Se exige al menos una letra: un token hecho solo de dígitos o símbolos no tiene estilo de nombrado que detectar. No hay capitalización de título propia del idioma ni un éxito parcial que elimine tokens sin decirlo. Envíe por POST un cuerpo JSON con un campo obligatorio, text, que contiene el identificador a inspeccionar. Se aceptan los alias identifier, name, value e input para que hojas de cálculo, cadenas de consulta y formularios tipados reutilicen el mismo contrato sin renombrar una columna. El valor debe ser una cadena no vacía tras el recorte; se rechazan números, booleanos, objetos y arreglos para que un cuerpo JSON equivocado no se convierta en la palabra true ni en un volcado de objeto. Si tiene éxito, el cuerpo devuelve cinco campos estables. identifier reproduce la entrada recortada para que pueda auditar lo clasificado. case_style es uno de camelCase, PascalCase, snake_case, kebab-case, SCREAMING_SNAKE_CASE, lower, upper o mixed. words es el arreglo ordenado de tokens en minúsculas tras los cortes en guiones bajos, guiones, un borde de minúscula o dígito hacia mayúscula, un acrónimo seguido de una palabra Titlecase, y bordes letra-dígito o dígito-letra, de modo que XMLHttpRequest pasa a xml, http y request, y getUser2FA pasa a get, user, 2 y fa. word_count es la longitud de ese arreglo. readable une las palabras con espacios simples para etiquetas y registros. Un text ausente, una cadena vacía y un conjunto ilegal de caracteres fallan con invalid_input nombrando el campo; esos fallos no se facturan.
Dónde usan un detector de estilo las herramientas de cambio de nombre, los linters y las migraciones
Una refactorización de cambio de nombre es insegura si la herramienta supone que todo símbolo ya está en camelCase. Los generadores de documentación convierten la frase legible en encabezados y etiquetas de accesibilidad y siguen conociendo el convenio original para los vínculos cruzados. La validación fallida no consume saldo. Mantenga las solicitudes en un identificador, fije el arreglo words en las pruebas y obtendrá una clasificación reproducible para canalizaciones de cambio de nombre, reglas de lint y comprobaciones de aula sin montar un generador de analizadores propio. Las bases de código de interfaz mezclan componentes React en PascalCase, ganchos en camelCase, módulos CSS en kebab-case y constantes de entorno en SCREAMING_SNAKE_CASE; un detector que devuelve el estilo y las palabras permite que un transformador reconstruya getUserName como get_user_name o GetUserName sin que una persona señale cada archivo. Las migraciones de servidor enfrentan la misma división entre funciones Python en snake_case, cabeceras HTTP en kebab-case y tipos Java en PascalCase cuando un documento OpenAPI, un modelo ORM y un SDK de cliente deben permanecer alineados. Los linters de estilo y los robots de revisión pueden marcar una función que llegó como Http_Server en lugar de adivinar si el autor quería snake_case o PascalCase. Los docentes y las plataformas de entrevistas de programación pueden pedir a un estudiante que nombre el estilo de diez identificadores y calificar la respuesta contra este oráculo en lugar de una macro de hoja de cálculo que trata UserID y user_id como la misma cadena. Como la implementación es de análisis puro de nivel A, cada llamada correcta cuesta el precio base publicado $0.002 sin tokens de modelo y sin red de salida, y la vía gratuita del navegador coincide con la API byte a byte sobre el mismo módulo.
Casos de integración
Canalizaciones seguras de cambio de nombre y transformación
Clasifique cada símbolo antes de reescribirlo para que un transformador pase de camelCase a snake_case o PascalCase sin suponer el estilo de origen.
Reglas de lint en bases de código mixtas
Marque funciones, tipos, clases CSS y constantes que llegaron en el convenio equivocado comparando case_style con la regla de ese tipo de símbolo.
Oráculos para documentación y el aula
Divida identificadores en palabras legibles para encabezados y califique respuestas de estudiantes que nombran camelCase, snake_case o SCREAMING_SNAKE_CASE.
Preguntas técnicas
¿Qué entrada se rechaza como no válida?
Un text ausente, una cadena vacía, valores que no son cadenas, nombres con espacios u otros caracteres ilegales, guiones iniciales o finales, guiones consecutivos, tokens sin letras y cargas de más de cuatro mil noventa y seis caracteres fallan con invalid_input.
¿Cuánto cuesta el detector de estilo de identificadores?
La herramienta del navegador es gratuita. Las solicitudes API usan saldo prepago de KIT a $0.002 por llamada correcta; la entrada no válida no se factura.