Mes noms de méthode ou de variable sont-ils trop longs? [fermé]

15

Donc j'étais actuellement en train de coder, malheureusement pour moi, j'étais dans "The Zone" alors je me suis dit, mes noms de méthode / variable sont-ils trop longs?

POP hors de la zone I go!

Je suis donc venu ici pour demander si mes noms de méthode / variable sont trop longs? Sois le juge! Des points bonus pour quiconque peut comprendre ce que j'écris, même si je suis sûr qu'un gourou le comprendra rapidement!

Quoi qu'il en soit, voici quelques-uns de mes noms de méthode et de variable.

Méthodes: searchBlockedListForBlockedSquares (), isCurrentSquareNextToAtLeastOneBlockedSquare (), searchBlockedListForBlockedSquares ()

Variables: isNextToBlockedSquares;

Je suppose qu'il n'y avait qu'une seule variable qui semblait trop longue.

Bryan Harrington
la source

Réponses:

31

Vos noms me semblent corrects en termes de longueur. Cependant, la façon dont ils sont nommés suggère que peut-être de nouvelles classes sont en ordre?

Par exemple, au lieu de searchBlockedListForBlockedSquares()vous pourriez avoir blockedList.getBlockedSquares(). De même, isCurrentSquareNextToAtLeastOneBlockedSquare()devient currentSquare.isAdjacentToABlockedSquare().

Adam Lear
la source
Adjacent était le mot que je cherchais! Merci =)
Bryan Harrington
@Bryan: Je vous en prie. :)
Adam Lear
11

Je crois aux noms de variables descriptifs même si cela signifie des noms de variables longs. Et avec l'intellisense de plus en plus populaire, je ne pense pas que cela affecte beaucoup en termes de productivité.

Je déteste les abréviations car elles sont presque impossibles à utiliser de manière cohérente. De plus, ils peuvent être ambigus et rendre les choses plus difficiles à lire. Même lorsqu'ils font partie d'une norme, je ne les aime pas. De plus, en fin de compte, ils ne suppriment pas autant de lettres à moins que vous n'abrégiez beaucoup. Et abréger beaucoup tue la lisibilité.

Le plus gros problème que posent les noms longs est la longueur des lignes de code. Appeler une fonction avec un nom long et lui passer deux ou trois noms de variables longs peut constituer une longue ligne de code. Pour cette raison, j'essaie de garder mes noms aussi courts que possible, mais je préfère avoir des noms descriptifs, même si cela signifie des lignes d'habillage ou un défilement.

En regardant vos exemples de noms, le fait que tout se termine par BlockedSquares me fait penser qu'une partie du nom pourrait être redondante. En fait, cela pourrait également signifier que ces éléments peuvent être encapsulés dans leur propre classe, probablement nommée BlockedSquares. Ce changement qui raccourcit un peu les noms.

Jeff Siver
la source
5

Un nom de variable n'a pas la bonne longueur lorsqu'il ne décrit pas clairement son objectif. Cela s'applique à être trop court ou trop long.

Les noms de variables courts et concis peuvent être ambigus, ou pire, n'ont aucun rapport avec ce qu'est la variable. À l'époque de BASIC interprété, nous étions limités par l'interprète à deux noms de caractères. Il était très difficile de trouver des noms significatifs dans un grand programme. Les noms de variables à lettre unique sont souvent utilisés pour les boucles for et les compteurs, mais je pense qu'ils devraient être évités autrement. for (i = 0; i < 10; i++) {...}utilise iet c'est assez commun. jest un nom de variable secondaire.

Les noms de variables longs sont trop longs lorsqu'ils deviennent longs ou pleins de mots vides, ce qui les rend plus longs que nécessaire. Si j'ai un tas de variables portant le même nom, j'essaierai de supprimer les parties communes qui sont dispensables et de conserver les parties identificatrices uniques des noms.

J'aurais nommé " isCurrentSquareNextToAtLeastOneBlockedSquare" à currentSquareNextToBlockedSquare?, si je le faisais en Ruby.

l'homme d'étain
la source