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,inum 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 dedeleteem 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.