CamelCase
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:
|
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.
- 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.
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.
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 |