Meu método ou nomes de variáveis são longos demais? [fechadas]

14

Então, eu estava atualmente no meio da codificação, infelizmente para mim, eu estava em "The Zone", então eu pensei comigo mesmo, meus nomes de métodos / variáveis são longos?

POP fora da Zona eu vou!

Então eu vim aqui perguntar, meus nomes de métodos / variáveis são muito longos? Você é o juíz! Pontos de bônus para qualquer um que possa descobrir o que estou escrevendo, embora eu tenha certeza de que um guru vai descobrir isso rápido!

De qualquer forma, 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.

    
por Bryan Harrington 20.11.2010 / 06:23
fonte

3 respostas

28

Seus nomes parecem bem para mim em termos de duração. No entanto, a forma como eles são nomeados sugere que talvez algumas novas classes estejam em ordem?

Por exemplo, em vez de searchBlockedListForBlockedSquares() , você pode ter blockedList.getBlockedSquares() . Da mesma forma, isCurrentSquareNextToAtLeastOneBlockedSquare() se torna currentSquare.isAdjacentToABlockedSquare() .

    
por 20.11.2010 / 07:02
fonte
9

Eu acredito em nomes descritivos de variáveis, mesmo que isso signifique nomes longos de variáveis. E com o intellisense se tornando mais popular, não acredito que isso afete muito em termos de produtividade.

Eu odeio abreviaturas 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 muitas letras, a menos que você abrevie muito. E abreviar muito mata a legibilidade.

O maior problema que os nomes longos introduzem é quanto tempo 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 fazer uma longa linha de código. Por causa disso, eu tento manter meus nomes o mais curtos possível, embora prefira ter nomes descritivos, mesmo que isso signifique quebra automática ou rolagem.

Olhando para os nomes dos seus exemplos, o fato de que todos terminam com o BlockedSquares me faz pensar que parte do nome pode ser redundante. Na verdade, isso também pode significar que esses itens podem ser encapsulados em sua própria classe, provavelmente denominados BlockedSquares. Essa mudança que torna os nomes um pouco mais curtos.

    
por 20.11.2010 / 07:01
fonte
5

Um nome de variável tem o tamanho errado quando não está descrevendo claramente sua finalidade. Isso se aplica a ser muito curto ou muito longo.

Os nomes das variáveis curtas e concisas podem ser ambíguos, ou pior, não têm relação com o que a variável é. Nos dias do BASIC interpretado, ficamos limitados pelo intérprete a dois nomes de caracteres. Foi muito difícil encontrar nomes significativos em um programa grande. Os nomes das variáveis de uma única letra são geralmente usados para loops e contadores, mas acho que eles devem ser evitados de outra forma. for (i = 0; i < 10; i++) {...} usa i e isso é muito comum. j é um nome de variável secundário.

Os nomes das variáveis longas são muito longos quando ficam 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 exclusivamente identificadoras dos nomes.

Eu teria chamado " isCurrentSquareNextToAtLeastOneBlockedSquare " para currentSquareNextToBlockedSquare? , se eu estivesse fazendo isso em Ruby.

    
por 20.11.2010 / 07:02
fonte