O português é uma das poucas línguas latinas que ainda usa cedilha (Ç) fora de contextos herdados do francês, e sua versão maiúscula (Ç) costuma sumir em nomes de variáveis por um motivo puramente histórico: teclados e terminais antigos, sobretudo em ambientes Unix mais antigos, tinham suporte irregular a acentuação, e a convenção de escrever identificadores sem acento nem cedilha (situacao, não situação) pegou e nunca mais saiu — mesmo hoje, com Unicode plenamente suportado em qualquer linguagem moderna.
Os principais estilos
- camelCase — primeira palavra minúscula, cada palavra seguinte com inicial maiúscula, sem separadores:
userName. Padrão para variáveis e funções em JavaScript, Java, C#. - PascalCase — o mesmo, mas a primeira palavra também é maiúscula:
UserName. Usado para classes e componentes em quase todo lugar. - snake_case — palavras unidas por sublinhados, tudo minúsculo:
user_name. Padrão em Python e em nomes de colunas de banco de dados. - kebab-case — palavras unidas por hífens:
user-name. Padrão para URLs, classes CSS e atributos HTML, já que o sublinhado é menos comum em URLs.
Por que isso não é só estética
Nenhuma linguagem de programação exige remover acentos ou cedilha de um identificador — é puramente convenção herdada de limitações técnicas que já não existem. O que de fato importa hoje é a consistência: linters, autocompletar do IDE e geradores de documentação esperam um estilo específico para cada tipo de entidade, independentemente de o nome vir ou não de uma palavra acentuada.
Para que serve a conversão
- Mapear um campo de uma API JSON (geralmente camelCase) para o nome de uma coluna de banco de dados (geralmente snake_case).
- Renomear variáveis ao portar código de uma linguagem para outra com convenção diferente.
- Gerar um slug compatível com URL ou uma classe CSS a partir do texto de um título, mesmo com acentos ou cedilha.
Ambiguidade com abreviações
Um identificador como userID ou XMLParser coloca o conversor diante de uma escolha: tratar a abreviação como uma única "palavra" ou dividi-la em letras separadas. Ferramentas diferentes resolvem isso de formas diferentes — este conversor reconhece uma sequência de letras maiúsculas como uma palavra à parte (XMLParser → XML + Parser), mas vale conferir o resultado manualmente antes de usar o nome diretamente em código de produção.