camelCase vs snake_case: Qual Usar e Quando?

Publicado em 10 de abril de 2026 • Leitura: 7 minutos

Se voce e desenvolvedor (ou esta aprendendo a programar), provavelmente ja se deparou com diferentes estilos de nomenclatura: camelCase, snake_case, kebab-case, PascalCase. Cada um tem seu lugar, suas convencoes e suas razoes historicas. Neste artigo, vamos explorar todos esses estilos, entender quando usar cada um e ver exemplos praticos em diferentes linguagens de programacao.

O que sao naming conventions?

Naming conventions (convencoes de nomenclatura) sao regras padronizadas para nomear variaveis, funcoes, classes, arquivos e outros elementos em codigo. Cada linguagem de programacao costuma adotar uma convencao especifica como padrao, e seguir essas convencoes torna o codigo mais legivel, consistente e facil de manter — tanto para voce quanto para outros desenvolvedores que vao trabalhar no mesmo projeto.

Os principais estilos de nomenclatura

1. camelCase

O nome vem do "corcunda do camelo": as letras maiusculas no meio da palavra parecem corcovas. A primeira letra e minuscula, e cada palavra seguinte comeca com letra maiuscula, sem espacos ou separadores.

JavaScript
let nomeDoUsuario = "Joao";
function calcularImpostoRenda(salario) { ... }
const tempoDeEspera = 30;

Linguagens que usam camelCase: JavaScript, Java, Kotlin, Swift, TypeScript, Dart, ActionScript, C# (para variaveis locais e parametros).

2. snake_case

Todas as letras em minusculo, palavras separadas por underscore (_). E mais facil de ler que camelCase em nomes longos, especialmente para nao falantes de ingles.

Python
nome_do_usuario = "Joao"
def calcular_imposto_renda(salario): ...
tempo_de_espera = 30

Linguagens que usam snake_case: Python (PEP 8 recomenda), Ruby, Rust, PHP (algumas convencoes), Erlang. Tambem e o padrao para nomes de tabelas e colunas em SQL.

3. PascalCase (UpperCamelCase)

Igual ao camelCase, mas a primeira letra tambem e maiuscula. Recebe esse nome em homenagem a linguagem Pascal, que popularizou o estilo.

C# / TypeScript
class UsuarioService { ... }
interface PedidoRepository { ... }
public class CalculadoraImpostoRenda { ... }

Quando usar: em praticamente todas as linguagens orientadas a objetos, PascalCase e usado para nomear classes, interfaces, tipos e enums. Tambem e padrao em React para nomes de componentes (UserCard, ProductList).

4. kebab-case

Todas as letras em minusculo, palavras separadas por hifen (-). Recebe esse nome porque parece um espetinho (kebab) com palavras espetadas em hifens.

CSS / HTML
.botao-primario { ... }
.menu-superior-fixo { ... }
<div data-user-id="123"></div>

Quando usar: nomes de classes CSS, atributos HTML, nomes de pacotes npm, nomes de arquivos em projetos web, URLs amigaveis. Importante: a maioria das linguagens de programacao NAO permite hifen em nomes de variaveis, porque o hifen e interpretado como operador de subtracao.

5. CONSTANT_CASE (SCREAMING_SNAKE_CASE)

Todas as letras em maiusculo, palavras separadas por underscore. E usado quase universalmente para constantes e variaveis de ambiente.

JavaScript / Python / Java
const MAX_RETRY_ATTEMPTS = 5;
const API_BASE_URL = "https://api.exemplo.com";
DATABASE_PASSWORD = os.environ.get("DATABASE_PASSWORD")

Quando usar: constantes globais, valores que nao mudam durante a execucao do programa, variaveis de ambiente, configuracoes em arquivos .env.

Tabela comparativa

Estilo Exemplo Onde usar
camelCasenomeDoUsuarioVariaveis, funcoes (JavaScript, Java)
snake_casenome_do_usuarioVariaveis, funcoes (Python, Ruby)
PascalCaseNomeDoUsuarioClasses, interfaces, componentes React
kebab-casenome-do-usuarioCSS, URLs, nomes de arquivos
CONSTANT_CASENOME_DO_USUARIOConstantes, variaveis de ambiente
dot.casenome.do.usuarioNamespaces, arquivos de configuracao

Convencao por linguagem

JavaScript / TypeScript

Python

Java / Kotlin

Ruby

SQL

camelCase vs snake_case: a guerra dos estilos

Estudos academicos ja foram feitos para determinar qual estilo e mais legivel. Um estudo famoso de Bonita Sharif e Jonathan Maletic (2010) mostrou que snake_case e ligeiramente mais facil de ler, mas que desenvolvedores acostumados com camelCase nao sentem diferenca significativa. Em outras palavras: nao existe um vencedor absoluto, depende mais da convencao da linguagem que voce esta usando.

O importante e seguir o padrao da linguagem ou do projeto. Misturar camelCase com snake_case no mesmo codigo deixa tudo bagunçado e dificulta a manutencao. Quando entrar em um projeto novo, observe o codigo existente e siga o padrao.

Como converter rapidamente entre estilos

Quando voce precisa migrar codigo entre linguagens diferentes (ex: portar uma API Python para Node.js), a conversao manual de variaveis e funcoes pode ser tediosa. O TrocaLetra oferece conversao instantanea entre todos os estilos: cole o nome da variavel, clique no formato desejado e copie o resultado. Suporta camelCase, snake_case, kebab-case, CONSTANT_CASE, dot.case e muito mais.

Conclusao

Escolher entre camelCase, snake_case e os outros estilos nao e questao de preferencia pessoal — e questao de seguir as convencoes da linguagem que voce esta usando. JavaScript prefere camelCase. Python prefere snake_case. CSS usa kebab-case. Constantes usam CONSTANT_CASE em quase todas as linguagens. Quando em duvida, consulte o guia de estilo oficial da linguagem (PEP 8 para Python, Airbnb Style Guide para JavaScript, etc.).

E quando precisar converter rapidamente, lembre-se: a ferramenta TrocaLetra faz isso em segundos.