← Back to list

Padrões de Nomenclatura no Frontend: CamelCase, Snake_case e Kebab-case

Entender os padrões de nomenclatura, como camelCase e snake_case, é crucial para a consistência e legibilidade do código em qualquer…

Sabrina · 2024-05-22 12:02 · 0 claps · 3.2 min read
#camel-case #snake-case #patterns #desenvolvimento #programação
Open on Medium ↗
Wiki topics: 🌐 · Web Development

Padrões de Nomenclatura no Frontend: CamelCase, Snake_case e Kebab-case

Entender os padrões de nomenclatura, como camelCase e snake_case, é crucial para a consistência e legibilidade do código em qualquer linguagem de programação, incluindo JavaScript. Vamos explorar esses padrões, sua história, similaridades, diferenças e como são aplicados no desenvolvimento front end.

História dos Padrões de Nomenclatura

CamelCase

O termo camelCase deriva de sua semelhança com as costas de um camelo. É amplamente utilizado na indústria de software e tem sido uma prática comum em linguagens de programação como JavaScript, Java e C#.

Snake_case

O snake_case recebe esse nome porque as palavras separadas por sublinhados lembram o corpo de uma cobra. Embora seja menos comum em linguagens como JavaScript, é prevalente em linguagens como Python e Ruby.

kebab-case

O kebab-case surgiu como uma convenção prática para representar nomes compostos em ambientes onde espaços não eram permitidos ou podiam causar problemas de interpretação.

Seu nome faz referência ao espetinho de carne conhecido como kebab, já que as palavras são ligadas por hífens, lembrando os ingredientes atravessados por um espeto.

Com a popularização da web nas décadas de 1990 e 2000, o kebab-case tornou-se amplamente adotado em URLs, nomes de arquivos, classes CSS e identificadores HTML por ser fácil de ler tanto para humanos quanto para máquinas.

Nomeclatura em JavaScript

CamelCase

Palavras são escritas sem espaços e as palavras subsequentes começam com letras maiúsculas, exceto a primeira palavra.

Exemplo: minhaVariavel, minhaFuncao.

let minhaVariavel = 10;
function minhaFuncao() {
 // Lógica da função
}

Snake_case

Palavras são escritas em minúsculas, separadas por sublinhados (_).

Exemplo: minha_variavel, minha_funcao.

let minha_variavel = 10;
function minha_funcao() {
 // Lógica da função
}

kebab-case

As palavras são escritas em minúsculas, separadas por hífens (-).

Exemplo: minha-variavel, minha-funcao, nome-do-usuario.


<section class="dados-do-usuario">
    <input id="nome-completo">
</section>

<style>
.dados-do-usuario {
    padding: 16px;
}

.botao-enviar {
    background-color: blue;
}
</style>

Tanto camelCase, snake_case quanto kebab-case são padrões de nomenclatura válidos e úteis para melhorar a legibilidade, a organização e a consistência do código.

Em JavaScript e TypeScript, o camelCase é a convenção mais utilizada para variáveis, funções, métodos e propriedades de objetos.

Já o snake_case é frequentemente encontrado em outras linguagens, como Python, e em dados retornados por APIs.

O kebab-case, por sua vez, tornou-se o padrão predominante para classes CSS, IDs HTML, URLs e nomes de arquivos em projetos front-end modernos.

É importante destacar que, diferentemente do camelCase e do snake_case, o **kebab-case **não pode ser utilizado para declarar variáveis, funções ou classes em JavaScript, pois o hífen (-) é interpretado pela linguagem como um operador de subtração. Isso, geraria um erro de sintaxe ou seria interpretado de forma incorreta pelo interpretador JavaScript.

Nomenclatura em HTML

O HTML não impõe uma regra obrigatória para nomes de atributos como id, name ou classes (class). No entanto, algumas convenções se tornaram mais comuns ao longo dos anos para facilitar a manutenção e a integração com CSS e JavaScript.

Exemplo:

<input id="nome_usuario">
<input id="nome-usuario">
<input id="nomeUsuario">

Todos os exemplos acima funcionam corretamente, mas em projetos modernos é comum utilizar nomes consistentes com a estratégia adotada pela equipe. O padrão kebab-case, utilizando palavras separadas por hífen, costuma ser o mais utilizado porque melhora a legibilidade e mantém alinhamento com as convenções adotadas no CSS.

Exemplo:

<section id="dados-do-usuario">
    <input class="campo-nome-completo">
</section>

Além disso, o uso de hífens evita possíveis conflitos com convenções utilizadas em frameworks e bibliotecas JavaScript.

Nomenclatura em CSS

No CSS, a convenção mais utilizada é o kebab-case, no qual palavras são escritas em letras minúsculas e separadas por hífens.

Exemplos:

.menu-principal {
    display: flex;
}

.card-produto {
    border-radius: 8px;
}

.botao-login {
    background-color: blue;
}

Esse padrão se tornou amplamente adotado porque facilita a leitura dos seletores, especialmente quando os nomes são compostos por várias palavras.

.menuPrincipal {}
.menu_principal {}
.menu-principal {}

Embora todos sejam válidos, .menu-principal costuma ser considerado mais legível e segue a convenção predominante da comunidade front-end.

Mais importante do que escolher entre camelCase ou snake_case é manter a consistência em todo o projeto. Convenções de nomenclatura reduzem a curva de aprendizado para novos desenvolvedores, facilitam a manutenção do código e ajudam equipes a trabalharem de forma mais eficiente.

No ecossistema JavaScript e TypeScript, camelCase tornou-se o padrão predominante, enquanto snake_case é frequentemente encontrado em integrações com APIs e aplicações desenvolvidas em outras linguagens.


메타데이터
post_id
6f09c33943c8
slug
camelcase-vs-snake-case-no-desenvolvimento-front-end-6f09c33943c8
url
https://medium.com/@sabrinabm94/camelcase-vs-snake-case-no-desenvolvimento-front-end-6f09c33943c8
canonical_url
https://medium.com/@sabrinabm94/camelcase-vs-snake-case-no-desenvolvimento-front-end-6f09c33943c8
author_url
https://medium.com/@sabrinabm94
status
ok
fetched_at
2026-07-30 03:19:02