Então, eu estava atualmente no meio da codificação, infelizmente para mim, eu estava no "The Zone" e pensei comigo mesmo: os nomes dos meus métodos / variáveis são longos?
POP fora da zona eu vou!
Então eu vim aqui para perguntar, meus nomes de métodos / variáveis são muito longos? Você é o juíz! O bônus aponta para qualquer um que possa descobrir o que estou escrevendo, embora eu tenha certeza de que um guru vai descobrir rápido!
Enfim, aqui estão alguns dos meus métodos e nomes de variáveis.
Métodos: searchBlockedListForBlockedSquares (), isCurrentSquareNextToAtLeastOneBlockedSquare (), searchBlockedListForBlockedSquares ()
Variáveis: isNextToBlockedSquares;
Acho que havia apenas uma variável que parecia muito longa.
Respostas:
Seus nomes me parecem bons em termos de comprimento. No entanto, a maneira como são nomeadas sugere que talvez algumas novas classes estejam em ordem?
Por exemplo, em vez de
searchBlockedListForBlockedSquares()
você poderia terblockedList.getBlockedSquares()
. Da mesma forma,isCurrentSquareNextToAtLeastOneBlockedSquare()
torna-securrentSquare.isAdjacentToABlockedSquare()
.fonte
Eu acredito em nomes de variáveis descritivos, mesmo que isso signifique nomes de variáveis longos. E com o intellisense ficando mais popular, não acredito que isso afete muito em termos de produtividade.
Eu odeio abreviações porque são quase impossíveis de usar de forma consistente. Além disso, eles podem ser ambíguos e tornam as coisas mais difíceis de ler. Mesmo quando eles fazem parte de um padrão, eu não gosto deles. Além disso, quando se trata disso, eles não removem tantas letras, a menos que você abrevie bastante. E abreviar muito mata a legibilidade.
O maior problema que os nomes longos apresentam é o tempo em que as linhas de código podem se tornar. Chamar uma função com um nome longo e passar dois ou três nomes de variáveis longos pode gerar uma longa linha de código. Por isso, tento manter meus nomes o mais curtos possível, mas prefiro ter nomes descritivos, mesmo que isso signifique quebrar linhas ou rolar.
Olhando para os nomes de exemplo, o fato de que todos terminam com BlockedSquares me faz pensar que parte do nome pode ser redundante. De fato, também pode significar que esses itens podem ser encapsulados em sua própria classe, provavelmente denominada BlockedSquares. Essa mudança que torna os nomes um pouco mais curtos.
fonte
Um nome de variável tem o tamanho errado quando não está descrevendo claramente seu objetivo. Isso se aplica a ser muito curto ou muito longo.
Nomes curtos e concisos de variáveis podem ser ambíguos ou, pior ainda, não têm relação com o que a variável é. Nos dias do BASIC interpretado, fomos limitados pelo intérprete a dois nomes de caracteres. Era muito difícil criar nomes significativos em um programa grande. Nomes de variáveis de letra única são frequentemente usados para for-loops e contadores, mas acho que devem ser evitados de outra forma.
for (i = 0; i < 10; i++) {...}
usai
e isso é bastante comum.j
é um nome de variável secundária.Nomes de variáveis longos são muito longos quando se tornam longos ou cheios de palavras vazias, tornando-os mais longos do que o necessário. Se eu tiver um monte de variáveis com nomes semelhantes, tentarei remover as partes comuns que são dispensáveis e manter as partes dos nomes de identificação exclusiva.
Eu teria nomeado "
isCurrentSquareNextToAtLeastOneBlockedSquare
" paracurrentSquareNextToBlockedSquare?
, se estivesse fazendo isso em Ruby.fonte