GeradoresOnline
Dev Tools

Conversor de Case para Código

Converta um nome entre camelCase, PascalCase, snake_case, kebab-case e CONSTANT_CASE.

Documentação técnica

Conversor de Case: detectar limites de palavra é o problema real, não a formatação final

Converter entre camelCase, PascalCase, snake_case e kebab-case parece, à primeira vista, um problema de formatação simples — mas a parte não trivial do algoritmo é anterior à formatação: detectar corretamente onde uma palavra termina e outra começa dentro de uma string sem delimitador explícito. Este conversor identifica limites de palavra com uma regra objetiva — uma letra minúscula (ou dígito) imediatamente seguida de uma maiúscula, via a expressão regular /([a-z0-9])([A-Z])/ — além dos delimitadores óbvios (underscore, hífen, espaço). Essa regra cobre corretamente o caso comum: userName vira user + Name, porque o "r" minúsculo é seguido do "N" maiúsculo.

Onde essa regra específica encontra seu limite: siglas

A regra "minúscula seguida de maiúscula" não cobre a transição entre duas letras maiúsculas consecutivas — então um identificador com sigla, como HTTPServerConfig, não é dividido em HTTP + Server + Config. O que acontece, na prática, é que HTTPServer inteiro vira um único token (httpserver), porque a transição P→S é maiúscula-maiúscula (não capturada pela regra), e só a transição seguinte, "r" minúsculo para "C" maiúsculo, aciona a divisão — o resultado final é httpserver_config em snake_case, não http_server_config. É um comportamento consistente e prático para a maioria dos identificadores do dia a dia, mas vale conhecer esse limite específico se o texto de entrada tiver siglas — o resultado não separa a sigla da palavra seguinte automaticamente.

Por que isso importa em geração de código a partir de schema

Ferramentas de refatoração e geradores de código a partir de schema (por exemplo, gerar nomes de propriedade em camelCase para TypeScript a partir de colunas snake_case de um banco) dependem dessa mesma lógica de segmentação. Testar a conversão com identificadores que contêm siglas reais do seu domínio (userID, parseURL, HTTPStatusCode) antes de confiar o resultado a um pipeline automatizado é a forma direta de descobrir se esse limite específico afeta o seu caso de uso — em vez de só testar com identificadores simples, sem sigla, que sempre convertem de forma previsível.

Gostou das ferramentas? Ajude a manter o site no ar: apoiar via Pix · Sobre · Contato · Política de Privacidade