Os principais padrões de nome na programação

Na programação, sabemos que não é possível/recomendado utilizar espaço e caracteres especiais na hora de nomear elementos do programa (variáveis, classes, funções etc.). Por isso, quando é necessário utilizar mais de uma palavra no mesmo nome, é empregada alguma técnica para deixar claro que ali há duas palavras mesmo que sem espaço.

Porém, se você já programou em mais de uma linguagem de programação, já deve ter percebido que há mais de uma convenção para isso. Alguns escrevem nomeDeVariavel, outros nome_de_variavel, e há também NomeDeVariavel. Neste artigo, nós vamos falar sobre cada uma dessas conveções e onde elas são mais comuns.

Sumário

  1. Por quê há padrões de nome?
  2. Os principais padrões 2.1 Snake Case 2.2 Kebab Case 2.3 Camel Case 2.4 Pascal Case
  3. Exemplos
  4. Conclusão
  5. Referências

Por quê há padrões de nome?

Primeiro, é importante entender o porquê de haver essas "regras". Na verdade, você não é obrigado a utilizar convenção x na linguagem y. Se você escreve um programa válido, não importa como você o escreveu, o compilador/interpretador vai compreender e você vai conseguir executá-lo.

Entretanto, se cada um de nós escrevermos de uma forma diferente, o código vai parecer desorganizado e menos legível. É uma questão de padronização: devemos sempre prezar pela legibilidade do nosso código. Não importa qual convenção será utilizada, mas sim que a mesma convenção seja aplicada durante o código-fonte do programa inteiro.

Os principais padrões

Neste artigo, vamos abordar as quatro formas mais populares de nomear elementos no código: Snake Case, Kebab Case, Camel Case e Pascal Case.

Snake Case

Neste padrão, inicia-se o nome do elemento com letra minúscula e, caso haja mais de uma palavra, elas devem ser separadas por traço baixo/underscore (_).

Nome do elemento Snake Case
Tab News tab_news
Número de carros azuis numero_de_carros_azuis
Snake Case snake_case

Uma variação da Snake Case, popularmente apelidada como Screaming Snake Case, é bastante utilizada para nomear constantes em diferentes linguagens. Ela segue a mesma norma da Snake Case, mas com todas as letras em maiúsculo (exemplo: VALOR_DE_PI = 3.14).

Atualmente, um exemplo de linguagem que utiliza Snake Case é o Python, que recomenda seu uso para nomes de variáveis, funções e módulos.

Kebab Case

Outra norma bastante utilizada, o Kebab Case é bem parecido com o Snake Case, mas utilizando hífen em vez de underscore. Esse nome se popularizou pois seu uso lembra um kebab, mas também é conhecido como dash case ou Lips case (em referência à linguagem Lisp que o popularizou).

Nome do elemento Kebab Case
Tab News tab-news
Título do post titulo-do-post
Kebab Case kebab-case

Podemos ver seu uso principalmente em URLs (www.tabnews.com/meu-post), em atributos de HTML e em propriedades de CSS (border-radius, justify-content etc.).

Camel Case

A terceira norma é uma das mais comuns. A regra consiste em não utilizar nenhum separador, mas iniciar todas as palavras com letra maiúscula com exceção da primeira.

Nome do elemento Camel Case
Tab News tabNews
Distância entre cidades distanciaEntreCidades
Camel Case camelCase

Essa norma é bastante popular entre linguagens da família do C, como C++, C#, Java, JavaScript e Dart.

Pascal Case

Por último, mas não menos importante, temos uma versão alternativa do Camel Case. Pascal Case segue a mesma regra de Camel Case, mas a primeira palavra também é iniciada por uma letra maiúscula. Por conta disso, é comum encontrarmos as duas sendo referenciadas como Upper e Lower Camel Case.

Nome do elemento Pascal Case
Tab News TabNews
Aplicativo Mobile AplicativoMobile
Pascal Case PascalCase

Ela também é utilizada em linguagens da família C, mas em contextos diferentes, como criação de classes por exemplo.

Exemplos

Algumas linguagens possuem guias oficiais que recomendam o uso de certas convenções. Abaixo, podemos ver alguns exemplos:

Elemento C# Python Java TypeScript
Funções/Métodos PascalCase() snake_case() camelCase() camelCase()
Variáveis camelCase snake_case camelCase camelCase
Constantes SSC SSC SSC SSC
Classes PascalCase PascalCase PascalCase PascalCase

Obs: SSC corresponde a SCREAMING_SNAKE_CASE.

Conclusão

Conforme já foi dito, as convenções são um meio de você tornar seu código mais legível e fazer com que outras pessoas tenham algumas noções a respeito dele. Embora Python não possua suporte para valores constantes, o uso de Screaming Snake Case indica para outros programadores que aquele valor não deve ser reatribuído/alterado, mesmo que isso seja possível.

Além dessas convenções, há também outras mais específicas de cada linguagem. Um exemplo seria uma prática típica em linguagens orientadas a objeto: o uso de underscore antes do nome de um elemento indica que ele é parte encapsulada de um objeto, e não deve ser acessado em outros escopos no código.

É importante sempre ter em mente que o código, além de funcional, deve ser legível. Se você quiser saber mais a respeito das convenções de cada linguagem, estarei deixando as referências deste texto logo abaixo. Obrigado pela atenção! =)

Referências

Muito bom csant, nunca tinha sido devidamente esclarecido neste assunto. Valeu mesmo!