Objeto Com A Letra L - Objeto com A: Lista Completa e Exemplos Interessantes - Blog do Porcelanato
Objeto com A: Lista Completa e Exemplos Interessantes - Blog do Porcelanato

Objetos começando com L: guia prático de Naming e convenções

Quando você está trabalhando em um sistema legado ou criando novas APIs, a escolha do nome de variáveis e objetos que começam com a letra L frequentemente gera discussões desnecessárias na equipe. Na prática, é um daqueles detalhes que todo mundo ignora até dar problema.

Por que o objeto com a letra l causa confusão

O problema principal é visual. A letra L minúscula (l) se parece perfeitamente com o numeral 1 em quase todas as fontes usadas em editores de código. Eu já passei horas debugando um erro porque meu colega de equipe escreveu l1_item_id quando na verdade queria dizer li_item_id (de list item). O versionamento não mostra diferença e o diff fica idêntico. A solução mais adotada no mercado é evitar completamente nomes que começem com L minúsculo solitário. Prefira L maiúsculo para prefixos de constante ou classe, e use combinações que deixem óbvio qual é o caractere. Lembre, Last, List são melhores que L, La, Li sozinhos.

👉 Clique no botão abaixo para saber mais sobre o assunto!

Convenções que funcionam no dia a dia

Em Java e C#, a convenção PascalCase para classes e camelCase para variáveis já resolve boa parte do problema. Um objeto chamado LicenseValidator não gera dúvida. O transtorno aparece mesmo com variáveis simples como lCounter ou lTotal. No Python, o PEP 8 recomenda snake_case e proíbe nomes de uma só letra exceto para variáveis temporárias em loops curtos. Se você precisa de um loop for com índice, use i ou idx, não l. Eu aprendi isso na marra quando migrei um script de processamento batch que rodava há anos e de repente começou a falhar em um ambiente com fonte Monoid ativada — o 1 e o l eram indistinguíveis no log.

Pegadinha com serialização e JSON

Outro ponto que muita gente esquece: ao serializar objetos para JSON ou protobuf, nomes curtos com L podem ser confundidos na hora do parse. Já vi casos onde um campo level era deserializado como 1evel em sistemas que usam regex cegos para validar chaves. A correção foi adicionar um prefixo explicativo como lvl em vez de l isolado. Se o seu sistema exporta objetos para downstream, teste a serialização com campos que contenham L minúsculo seguido de numeral. Dá pra economizar uma manhã inteira de trabalho removendo esses casos na fase de desenvolvimento.

Alternativas práticas

Se você está preso a um domínio de negócio que naturalmente usa L como sigla — como Loan, Location, LogEntry — mantenha o L maiúsculo no início do nome completo. Nunca abrevie para apenas l ou ll. A legibilidade compensa qualquer convenção estética. Para quem usa IDE moderno, configurar o inspection de "single-letter variable names" no ReSharper ou no IntelliJ vai te alertar automaticamente. É um minutinho de configuração que evita anos de mal-entendido em code review.