camelCase para snake_case

Cole seu texto: cada exemploAssim vira exemplo_assim (snake_case, em minúsculas).

Para que serve

É o sentido de que você precisa ao passar do código para um banco de dados, ou quando um projeto adota uma única convenção e é preciso reescrever o que já existe: de birthDate para birth_date, numa lista inteira de uma só vez. Também ajuda a tornar legíveis os nomes tirados de um arquivo de configuração ou da resposta de um serviço web, em que as maiúsculas coladas transformam tudo num bloco só.

O difícil são as siglas

Colocar um sublinhado antes de cada maiúscula é a solução ingênua, e em getHTTPResponse daria get_h_t_t_p_response, um nome pior do que o de partida. Aqui a sigla é reconhecida e mantida junta: o corte é feito onde termina o grupo de maiúsculas e começa uma palavra nova, então o resultado é get_http_response. Essa é a diferença entre uma conversão que dá para usar e uma que você precisa corrigir à mão.

O que acontece com o resto

No final, o texto inteiro é passado para minúsculas, que é a forma em que o snake_case é escrito. Por isso UserName vira user_name e um nome que já está em minúsculas fica como está. Os dígitos não abrem uma palavra nova: value2 fica inteiro, enquanto value2X vira value2_x. Todas as letras contam, inclusive as acentuadas e as de outros alfabetos: caféName vira café_name. O resto da linha, inclusive a pontuação, não é alterado.

Veja também

O caminho inverso é snake_case → camelCase. Para um endereço web, que pede hifens comuns, existe o Gerador de slug para URL; para padronizar as tabulações antes de levar o código para outro editor, Tabulações em espaços.

Ferramentas relacionadas