Por que as convenções de nomenclatura são importantes
Como nomear variáveis, funções e classes no código não é apenas preferência pessoal. Convenções de nomenclatura unificadas tornam o código legível, a colaboração em equipe fluida e o estilo consistente. Diferentes linguagens têm diferentes convenções, misturá-las parece pouco profissional.
Convenções de nomenclatura comuns
camelCase
A primeira palavra em minúsculas, as seguintes com inicial maiúscula:
firstName
lastName
getUserInfo
isLoggedIn
Usado em: variáveis e funções JavaScript/TypeScript, métodos e variáveis Java, métodos e variáveis C#.
PascalCase / UpperCamelCase
Cada palavra com inicial maiúscula:
FirstName
UserService
HomeController
Usado em: classes e interfaces JavaScript/TypeScript, classes Java, classes e métodos C#, componentes React.
snake_case
Todas as palavras em minúsculas, separadas por underline:
first_name
last_name
get_user_info
Usado em: variáveis e funções Python, variáveis e métodos Ruby, nomes de campos de banco de dados, variáveis PHP.
UPPER_SNAKE_CASE / SCREAMING_SNAKE_CASE
Tudo em maiúsculas, separado por underline:
MAX_RETRY
DEFAULT_TIMEOUT
API_BASE_URL
Usado em: constantes, opções de configuração, valores de enumeração. Quase todas as linguagens usam esta convenção para nomear constantes.
kebab-case
Tudo em minúsculas, separado por hífen:
first-name
user-profile
api-key
Usado em: caminhos URL, nomes de classes HTML/CSS, nomes de arquivos, chaves de arquivos de configuração.
dot.case
Separado por ponto:
user.name
config.timeout
Usado em: chaves hierárquicas em arquivos de configuração, namespaces.
Referência rápida de convenções por linguagem
JavaScript / TypeScript
- Variáveis, funções: camelCase (getUserInfo)
- Classes, interfaces, tipos: PascalCase (UserService)
- Constantes: UPPER_SNAKE_CASE (MAX_RETRY)
- Membros privados: prefixo underline + camelCase (_privateVar)
Python
- Variáveis, funções: snake_case (get_user_info)
- Classes: PascalCase (UserService)
- Constantes: UPPER_SNAKE_CASE (MAX_RETRY)
- Membros privados: prefixo underline + snake_case (_private_var)
Java
- Variáveis, métodos: camelCase (getUserInfo)
- Classes: PascalCase (UserService)
- Constantes: UPPER_SNAKE_CASE (MAX_RETRY)
- Nomes de pacotes: tudo minúsculo (com.example.service)
CSS / HTML
- Nomes de classes: kebab-case (user-profile)
- IDs: kebab-case ou camelCase (a equipe decide)
Banco de dados
- Nomes de tabelas, campos: snake_case (user_name)
- Alguns usam camelCase, depende da convenção da equipe
URL
- Caminhos: kebab-case (/user-profile/settings)
- Parâmetros de consulta: camelCase ou snake_case (?userId=123 ou ?user_id=123)
Regras de conversão
camelCase → snake_case
- Encontre letras maiúsculas
- Adicione underline antes das letras maiúsculas
- Converta tudo para minúsculas
Exemplo: getUserInfo → get_user_info
snake_case → camelCase
- Encontre os underlines
- Converta para maiúscula a letra após o underline
- Remova os underlines
Exemplo: get_user_info → getUserInfo
PascalCase → camelCase
Converta a primeira letra para minúscula, mantenha o resto.
Exemplo: UserService → userService
camelCase → PascalCase
Converta a primeira letra para maiúscula, mantenha o resto.
Exemplo: userService → UserService
kebab-case → camelCase
- Encontre os hífens
- Converta para maiúscula a letra após o hífen
- Remova os hífens
Exemplo: user-profile → userProfile
Erros comuns
Misturar convenções
Usar camelCase e snake_case no mesmo projeto parece bagunçado. Escolha uma convenção e mantenha-a.
Tratamento de abreviações
Abreviações devem ser todas em maiúsculas?
- URL ou Url? userId ou userID?
- Convenção: abreviações de duas letras todas em maiúsculas (ID, URL), abreviações de três ou mais letras com inicial maiúscula (Http, Xml)
- A equipe deve padronizar, o importante é a consistência em todo o projeto
Acrônimos
Como escrever HTTP, XML, URL em camelCase?
- Recomendado: httpUrl, xmlParser (tratar como palavras comuns)
- Alguns usam: HTTPUrl, XMLParser (manter abreviação em maiúsculas)
- A equipe deve padronizar
Tratamento de números
user2name ou user2Name?
- camelCase: user2Name (inicial maiúscula após o número)
- snake_case: user2_name
Usar DocsAll para converter maiúsculas e minúsculas
A ferramenta de conversão de maiúsculas e minúsculas suporta:
- Tudo em maiúsculas / tudo em minúsculas
- Inicial maiúscula
- Conversão entre camelCase / PascalCase / snake_case / kebab-case
- Inicial maiúscula na frase
Operação:
- Cole o texto
- Selecione o tipo de conversão
- Copie o resultado
Conversão no navegador, o texto não é enviado.
Conclusão
Lembre-se das convenções de nomenclatura: variáveis e funções usam camelCase ou snake_case (dependendo da linguagem), classes usam PascalCase, constantes usam UPPER_SNAKE_CASE, URLs usam kebab-case. A consistência da equipe é o mais importante. A ferramenta de conversão de maiúsculas e minúsculas DocsAll é executada no navegador, dados não são transmitidos.