c# - student - resharper visual studio 2015




Resharper: vars (6)

Pourquoi Resharper veut-il que vous changiez la plupart des variables en type var au lieu du type réel dans le code?


C'est juste une option. Vous pouvez le désactiver:

ReSharper -> Options -> Inspection de code -> Gravité d'inspection -> Redondances de code -> Utiliser le mot-clé 'var' si possible: changer pour "Ne pas afficher"

Il y a aussi l'option de contexte (ampoule) qui vous mènera dans chaque direction - c'est sous ReSharper -> Options -> Langues -> C # -> Actions de contexte -> "Remplace la déclaration de type explicite par 'var'"


Je pense que cela vous suggère les deux façons. Si vous avez un type explicite, vous pouvez le changer en var. Si vous avez var - pouvez le changer pour explicite. Juste pour le rendre plus rapide pour vous de changer si vous pensez que c'est approprié bien sûr.

Il peut être utile d'utiliser vars, par exemple, pour les variables de boucle, lors de l'itération d'une collection, etc., lorsque le type est "implicite" pour vous (il est toujours implicite pour le compilateur quand Resharper le suggère) et son absence ne rend pas le code moins lisible. En outre, je l'aime pour raccourcir quelques déclarations, qui peuvent devenir assez longues avec des génériques. Comme, IList (IDictionary (SomeType)) myVar = Liste (IDictionary (SomeType)) () ne perdrait pas beaucoup si vous écrivez "var" sur le côté gauche de l'affectation.

(Remplacer les parenthèses avec des équerres;)

Bien sûr, j'essaierais d'utiliser les vars avec soin, pour améliorer la lisibilité et non l'inverse.


Pour moi, ça vaut vraiment le prix ... (même si je devais payer moi-même). Mais il peut ralentir votre VS. Cela peut devenir très lent si vous avez des fichiers comme 5000 lignes de code.

Ce que je ne comprends toujours pas, c'est pourquoi je suis le seul dans l'équipe à l'utiliser ...


Pour répondre à votre question ... parce que quelqu'un chez JetBrains a décidé que c'était la manière "préférée".

Pour le changer, suivez la réponse de Jon. De plus, vous pouvez également modifier le comportement de ReSharper lors du nettoyage de code (que j'utilise beaucoup) sous la section Nettoyage de code dans les options ReSharper. Définissez sur "Utiliser un type explicite".


J'ai vu une vidéo de Hadi Hariri, où il présentait Resharper 6.x. Son raisonnement était que, si vous obligez un utilisateur à utiliser "var", vous le forcez à nommer la variable d'une manière plus significative, de cette façon tous les noms sont lisibles et ont plus de sens.


C'est l'explication sur le wiki d'inspection de code de JetBrains à ce sujet: http://confluence.jetbrains.net/display/ReSharper/Use+%27var%27+keyword+when+initializer+explicitly+declares+type

Si vous voyez la classe à droite, il n'y a pas grand besoin de la voir sur la gauche aussi. En outre, il économise de l'espace et réduit le code si le nom de la classe est assez long. Personnellement, je n'utilise pas var pour des types simples comme string, int et ainsi de suite, mais je l'utilise pour quelque chose comme var dictionary = new Dictionary<string, int>() pour économiser de l'espace.





resharper