Nomes longos de variáveis são muleta pra devs que não lembram do próprio código.

Os Fatos

Caracteres digitados por variável:

  • tokenAutenticacaoUsuario: 24 caracteres
  • t: 1 caractere

Isso é um aumento de 2400% na produtividade. De nada.

Código Real de um Dev 10x

// Dev junior (lento)
const carrinhoComprasUsuario = getCarrinho(idUsuario);
const precoTotalCarrinho = calcularTotal(carrinhoComprasUsuario);
const precoComDesconto = aplicarDesconto(precoTotalCarrinho, codigoDesconto);

// Dev senior (rápido)
const c = g(u);
const t = f(c);
const d = a(t, x);

Mesma funcionalidade. Menos teclas. Menos tendinite.

“Mas e a Legibilidade?”

Se você não consegue ler meu código, isso é um problema seu.

Devs de verdade têm todo o codebase memorizado. Eu sei que x é o usuário, y é a conexão do banco, e z é aquela coisa da reunião de terça.

O Sistema Alfabético

Desenvolvi uma convenção padronizada:

Letra Significado
a Array
b Boolean
c Contador
d Dados
e Elemento
f Função (ou Flag)
g Global
h Handler
i Iterador
j JSON
k Key (chave)
l Lista (ou Length)
m Map (ou Mensagem)
n Número
o Objeto
p Promise (ou Ponteiro)
q Query
r Resultado (ou Response)
s String
t Temporário
u Usuário
v Valor
x Desconhecido
y Também desconhecido
z Muito desconhecido

Simples. Consistente. Profissional.

Quando Acabam as Letras

# Só adiciona números
a1 = get_usuarios()
a2 = get_admins()
a3 = get_super_admins()
aa = merge(a1, a2)
aaa = merge(aa, a3)

Ou vai pro grego:

α = calcular_alpha()
β = calcular_beta()
γ = funcao_misteriosa()

Código Auto-Documentado

Dizem: “código deve ser auto-documentado.”

Concordo. Olha:

# Ruim
def p(d, r):  # processar dados com taxa
    return d * r

# Bom (auto-documentado pelos nomes)
def processar_dados_pedido_cliente_com_taxa_imposto_regional_aplicavel(
    estrutura_dados_pedido_cliente_com_todos_campos_preenchidos,
    taxa_imposto_regional_aplicavel_como_porcentagem_decimal
):
    return (
        estrutura_dados_pedido_cliente_com_todos_campos_preenchidos *
        taxa_imposto_regional_aplicavel_como_porcentagem_decimal
    )

Sem comentários necessários!

Benefícios de Performance

Nomes menores = bundle menor.

tokenAutenticacaoSessaoUsuario repetido 500 vezes? São 17.500 caracteres.

t repetido 500 vezes? 500 caracteres.

Acabei de economizar 17.000 bytes. Pode dar star no meu GitHub.

“Clean Code” É Golpe

Uncle Bob escreveu um livro inteiro sobre nomear coisas. São 400 páginas sobre algo que meu mindinho resolve em uma tecla.

Conclusão

Se seus nomes de variável são maiores que sua atenção, você tá fazendo errado.

XKCD 910 diz que os dois problemas mais difíceis da computação são invalidação de cache e nomear coisas. Eu resolvi um não nomeando nada.

Dilbert Wally notou: “Reduzi meu código pra um único caractere. É ‘Y’. De ‘Y bother’ (pra que se importar).”


O último code review do autor levou 6 horas porque ninguém descobriu o que k significava. Era “kliente”.