Os nomes dos meus métodos ou variáveis ​​são muito longos? [fechadas]

15

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.

Bryan Harrington
fonte

Respostas:

31

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 ter blockedList.getBlockedSquares(). Da mesma forma, isCurrentSquareNextToAtLeastOneBlockedSquare()torna-se currentSquare.isAdjacentToABlockedSquare().

Adam Lear
fonte
Adjacente era a palavra que eu estava procurando! Obrigado =)
Bryan Harrington
@Bryan: De nada. :)
Adam Lear
11

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.

Jeff Siver
fonte
5

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++) {...}usa ie 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" para currentSquareNextToBlockedSquare?, se estivesse fazendo isso em Ruby.

o homem de lata
fonte