Je vois des questions similaires à celles-ci en ce qui concerne les noms de paramètres qui correspondent aux propriétés de la classe, mais je ne trouve rien concernant l'utilisation d'un nom de paramètre identique à celui du type de paramètre, à l'exception de la casse en C #. Cela ne semble pas être une violation que je puisse trouver, mais est-ce considéré comme une mauvaise pratique? Par exemple, j'ai la méthode suivante
public Range PadRange(Range range) {}
Cette méthode prend une plage et renvoie une nouvelle plage à laquelle un remplissage a été appliqué. Donc, étant donné le contexte générique, je ne peux pas penser à un nom plus descriptif pour le paramètre. Cependant, cela me rappelle un conseil que j'ai lu en lisant Code Complete à propos de "distance psychologique". Ça dit
La distance psychologique peut être définie comme la facilité avec laquelle deux éléments peuvent être différenciés ... Pendant que vous déboguez, soyez prêt à résoudre les problèmes causés par une distance psychologique insuffisante entre des noms de variable similaires et entre des noms de routine similaires. Lorsque vous construisez du code, choisissez des noms avec de grandes différences afin d’éviter le problème.
La signature de ma méthode a beaucoup de "Portée", donc il semble que cela puisse être un problème en ce qui concerne cette distance psychologique. Maintenant, je vois beaucoup de développeurs faire ce qui suit
public Range PadRange(Range myRange) {}
J'ai personnellement beaucoup de dégoût pour cette convention. L'ajout d'un préfixe "mon" aux noms de variables ne fournit aucun contexte supplémentaire.
Je vois aussi ce qui suit
public Range PadRange(Range rangeToPad) {}
J'aime mieux cela que le préfixe "mon", mais je ne m'en soucie toujours pas. Cela me semble trop verbeux et se lit maladroitement comme un nom de variable. Pour moi, il est entendu que la plage sera complétée en raison du nom de la méthode.
Donc, avec tout cela, mon instinct doit aller avec la première signature. Pour moi, c'est propre. Pas besoin de forcer le contexte quand ce n'est pas nécessaire. Mais est-ce que je fais moi-même ou les futurs développeurs un mauvais service avec cette convention? Suis-je en train de violer une pratique exemplaire?
Range r
(au moins pour un corps de méthode courte) et Range toPad
.
Range range
c'est bien.