Ir para o conteudo

CamelCase

Origem: Wikipedia, a enciclopedia livre.
A origem do Camel Case vem da corcova do Camelo. Na imagem o exemplo camelCase esta escrita na forma lowerCamelCase

CamelCase e a denominacao em ingles para a pratica de escrever as palavras compostas ou frases, onde cada palavra e iniciada com maiusculas e unidas sem espacos.[1] E um padrao largamente utilizado em diversas linguagens de programacao, como Java, C#, Ruby, PHP e Python, principalmente nas definicoes de classes e objetos.[2][3] Pela sua associacao com tecnologia, o marketing se apropriou dessa maneira de escrever, injetando certo ar de "tecnologia" nos produtos assim nomeados: iPod, eBay, GameCube, OpenOffice.org, StarCraft, dentre outros.[1][4]

A provavel origem do termo e a semelhanca do contorno de expressoes CamelCase, onde as letras em maiusculo "saltam" no meio das minusculas como corcovas de um camelo.

A primeira letra de uma palavra composta por CamelCase pode ou nao ser capitalizada, nao ha consenso sobre a maneira certa de sua utilizacao. Existem duas formas de classifica-la: a primeira e conhecida como UpperCamelCase (de letra inicial maiuscula, tambem conhecida como PascalCase) e a segunda lowerCamelCase (de letra inicial minuscula).[5] Algumas referencias quanto ao uso do CamelCase para codificacao de programas de computadores ditam que o CamelCase segue a regra que a primeira letra da primeira palavra deve ser escrita em minuscula enquanto que a primeira letra das palavras subsequentes concatenadas devem ser escritas em maiusculas. Alem disso, algumas organizacoes como, por exemplo, a Microsoft,[6] usam o termo CamelCase apenas para as que comecam com a inicial minuscula.

O CamelCase se distingue do snake case (estilizado snake_case) em que as palavras sao separadas por underline, e do kebab case (estilizado kebab-case) em que as palavras sao separas por hifen (semelhante ao espeto que atravessa um espetinho estilo kebab bem ao meio).[7]

Variacoes

[editar | editar codigo]

O nome original da pratica, usado em estudios de midia, gramaticas e no Dicionario Oxford e, em ingles, "medial capitals". Outros nomes como "InterCaps" ou "CamelCase" sao relativamente mais recentes e mais comuns em comunidades relacionadas e computadores. Outros sinonimos incluem:

  • BumpyCaps[8] ou BumpyCase
  • NerdCaps[8]
  • camelBack, camel-back ou CamelCaps[9]
  • CapitalizedWords[10] ou CapWords para letras iniciadas em maiusculas em Python
  • compoundNames[10]
  • Embedded Caps ou Embedded Capitals[11]
  • InterCaps[12] ou intercapping (abreviacao de Internal Capitalization)
  • mixedCase para letras iniciadas em minusculas Python[10]
  • Pascal case (depois da criacao da linguagem Pascal)[13][14][15]
  • Smalltalk case[16]
  • WikiWord ou WikiCase[17][18]
  • HumpBack ou hump-back [19]

Computacao e programacao

[editar | editar codigo]

Programacao e codificacao

[editar | editar codigo]

Por fins de praticidade,[20] utiliza-se as regras CamelCase/PascalCase para escrever palavras curtas e anonimos sobre as seguintes normas:[21]

  • Esta de acordo com a norma lowerCamelCase palavras compostas iniciadas por letras minusculas. Usa-se tal. na programacao, ao definir variaveis e metodos.
Exemplos: nomeCompleto, valorDesconto, tipoCliente.
  • Esta de acordo com a norma UpperCamelCase (que tambem pode ser chamada de PascalCase) aquelas iniciadas por letras maiusculas. Usa-se tal, na programacao, na definicao de classes em orientacao a objetos.
Exemplos: CalculaDesconto(), ValidaEmail(), ImprimeCadastro().

Alem de ser uma boa pratica, seu uso e frequentemente obrigatorio no mercado. Abaixo, um trecho de codigo exemplifica o uso dos padroes PascalCase e CamelCase.

int totalContador = 0; /*Uso da lowerCamelCase ao declarar a variavel int*/
void ExibirMensagem(string nome) /*Uso da UpperCamelCase ao declarar a funcao ExibirMensagem */
{
string mensagemCompleta = string.format("Ola {0}, voce e o visitante de numero {1}", nome, totalContador);
totalContador++;

}

Na programacao, tambem e comum o uso dessa forma de capitalizacao para manter a compatibilidade com configuracoes preexistentes em certas linguagens. Por nao serem gerenciaveis, o uso correto da escrita por lowerCamelCase e UpperCamelCase, nesse caso, e obrigatoria. Muitas linguagens utilizam esse tipo de formatacao devido a diminuicao no tempo de reconhecimento de identificadores[22]. A tabela abaixo resume o uso da capitalizacao e da exemplos de diferentes tipos de identificadores.

Identificador Linguagem Exemplo de uso
Class Pascal AppDomain
Enum type Pascal ErrorLevel
Interface Pascal IDisposable
Method Pascal ToString
Parameter Camel typeName
Protected instance field Camel redValue

Ver tambem

[editar | editar codigo]

Referencias

  1. | a b J Richards. <> (PDF). Consultado em 20 de novembro de 2012
  2. | Catb. <> (em ingles). Consultado em 8 de janeiro de 2013
  3. | Computer Hope. <> (em ingles). Consultado em 8 de janeiro de 2013
  4. | R P Santos e R P M Fortes. <> (PDF). Consultado em 20 de novembro de 2012
  5. | <