Nomes de variáveis
Vamos falar de escopo?
Devemos usar nomes descritivos para as variáveis do nosso código para que o mesmo seja claro. Esta é uma das afirmações que não deve ser totalmente seguida ao pé da letra. Normalmente, quem segue isso ao pé da letra termina usando variáveis com nomes enormes mesmo em escopos pequenos, causando um aumento considerável na carga cognitiva de quem lê o código. A clareza de um código depende não apenas dos nomes que você usa, e também não apenas das intenções. Existe uma coisa chamada “dialeto” que normalmente é ignorada nesses casos. E ignorar os dialetos faz com que o código se torne mais difícil de ler.
Os Dialetos
As linguagens de programação determinam uma forma de expressar o pensamento lógico de acordo com um conjunto de regras sintáticas e semânticas, assim como o Português ou o Inglês estabelecem as mesmas regras. Este texto, por exemplo, segue as regras sintáticas e semânticas do Português do Brasil para que você possa compreender a ideia que está sendo transmitida.
O dialeto é um subconjunto da linguagem. É uma forma particular de dizer algo. Normalmente os dialetos surgem em comunidades. Por
exemplo, a comunidade Go usa nomes pequenos de variáveis, como i ou j quando estas são usadas em escopos muito pequenos. Há
também os dialetos criados dentro das empresas. Por exemplo, a Win32 nomeia alguns tipos de dados usando uma variação da notação
húngara, como HCURSOR que descreve um handle para um cursor.
Seguir o dialeto usado no código que você dá manutenção é incrivelmente importante, pois permite que o código se torne consistente e de fácil leitura. Ao ignorar o dialeto, você força a inconsistência e, consequentemente, aumenta a carga cognitiva do leitor do código. Para o computador, o nome que você dá aos objetos de um programa não faz a menor diferença, contanto que você não crie colisões. Isso faz toda a diferença para quem mantém o código.
Use o bom senso
Tentar forçar uma regra só porque alguém disse que fica mais fácil de ler é a melhor forma de escrever código ruim. É muito melhor usar o bom senso: quando essa regra faz sentido? Ler esse código está mais fácil ou mais difícil? O código bem escrito pode ser facilmente lido mesmo sem syntax highlighting. Se ao remover as cores do seu editor o código ficou complicado de ler, é porque você fez algo errado.
É importante seguir o dialeto usado no código, as regras impostas por quem veio antes, por mais que você não concorde com elas. A consistência do código é importante para simplificar a leitura e manutenção. Código inconsistente cria dificuldades e, com o passar do tempo, cria um frankenstein difícil de manter. E isso adiciona-se facilmente ao débito técnico.
Um exemplo importante de dialeto é o uso de variáveis como i, j ou k para índices em loops. Todo livro de ciência da
computação usa isso. Todo livro de programação usa isso. Usar coisas distintas quebra esse dialeto já tão bem estabelecido, tornando
o código mais difícil de ler, por incrível que isso possa parecer. No entanto, usar variáveis de uma só letra em grandes escopos
causa o caos. Por este motivo é preciso usar do bom senso quando decidir como nomear os objetos do seu programa.