Todos os artigos

Case Converter: por que existem estilos de nomenclatura diferentes

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 (XMLParserXML + Parser), mas vale conferir o resultado manualmente antes de usar o nome diretamente em código de produção.

Experimentar a ferramenta