Há uma frase atribuída a Phil Karlton que todo programador acaba entendendo na marra: “só existem duas coisas difíceis na computação: invalidação de cache e nomear coisas”. E nomear é, de longe, a que você enfrenta com mais frequência.

O nome é documentação

Um bom nome elimina a necessidade de um comentário. Compare:

// dias desde o último login
const d = (Date.now() - u.l) / 86400000;

com:

const daysSinceLastLogin = (Date.now() - user.lastLogin) / MS_PER_DAY;

O segundo não precisa de explicação. O código é lido muito mais vezes do que é escrito; otimize para quem lê.

Regras que aplico

  • Evite abreviações exceto as universais (id, url, i num laço curto).
  • O tamanho do nome deve escalar com o escopo. Uma variável de três linhas pode ser x; uma global não.
  • Booleanos se leem como perguntas: isLoading, hasAccess, canEdit.
  • Funções são verbos: fetchUser, parseDate, normalizeInput.
  • Seja consistente: se em um lugar é remove, não chame de delete em outro.

O teste rápido

Se você precisa de um comentário para explicar o que uma variável guarda, provavelmente o nome está errado. Corrija o nome antes de adicionar o comentário.

Nomear bem não é estética: é a diferença entre um código que se mantém sozinho e um que você precisa decifrar toda vez.