Je viens d'installer Reshaper 4.5 et il a proposé les suggestions suivantes: dois-je faire celles-ci? P> Je pense dans certains cas, il va rendre le code moins lisible mais améliorera-t-il les performances? Quels sont les avantages de la fabrication de ces changements? p> merci p> p>
8 Réponses :
Premier: Resharper demande à supprimer Pour les deuxième et troisième: Resharper préfère normalement en utilisant ce code> qui est juste une chose de style pour moi. Rien de plus, le garder ne nuira de quelque manière que ce soit. C'est juste une question de lisibilité. P>
var code> au lieu de type de données spécifique, c'est pourquoi les suggestions. Je crois que c'est une question de choix personnel et ne fournit aucun gain supplémentaire autre que la lisibilité. P>
Le premier ne semble pas clair pour moi. Vous n'avez généralement pas besoin de préfixer ceci. Code> tant qu'il n'y a pas d'ambiguïtés, que je ne peux pas dire à cet exemple. Resharper est probablement juste. Les deux autres n'amélioreront pas les performances, le résultat compilé sera le même. C'est juste une question de goût et, bien sûr, de vos directives de codage. p>
Le premier doit être configurable. Autant que je me souvienne, vous pouvez dire à Resharper si vous voulez avoir "ceci". Devant seulement des champs, des méthodes, à la fois ou aucune. P>
Utiliser "var" ne changera rien dans le code CIL généré, de sorte que les performances resteront les mêmes. Je n'ai pas utilisé Resharper depuis un certain temps et je ne sais pas pourquoi il favorise des types anonymes de manière aussi agressive, mais un avantage de «var» est qu'il est plus résistant au changement. P>
Signification Si, au lieu de la méthode appelante.getNumber (), vous avez appelé une enveloppe, par exemple. Filtre (méthode.getNumber ()) dans la même ligne qui renvoie une nullable, vous n'aurez pas à mettre à jour le type de la variable. P>
Je pense que le premier est à cet effet, si vous voulez faire "getruléviolations ()" une méthode statique. Ensuite, vous n'avez pas à supprimer «cet identifiant». P>
pour le 3ème - celui qui me gêne le plus. Il fournit au lecteur avec moins d'informations et je pense que c'est juste une question de montrer une fonctionnalité nouvelle.
Je dirais - utilisez VaR lorsque vous connaissez le type de retour et utilisez le type d'objet correct lorsque vous n'aimez pas cela: p>
1) Le pointeur explicite Un autre point ici est que si 2) peut être déduite de l'initialisation. P>
3) Resharper Préfère Ce pointeur code> n'est nécessaire que lorsque la référence serait autrement ambiguë. Étant donné que getruleviolations code> est défini sur le type, vous n'avez probablement pas besoin de ceci code>. p>
getruleviolations code> renvoie un ienumerable code> de quelque chose, vous serez généralement beaucoup mieux à utiliser tout () code> au lieu de Count () == 0 code> Lorsque vous risquez d'énumérer toute la séquence. P>
La chaîne var code> sur des types spécifiques. p>
Outre l'avantage évident de votre petite carrée Green Green, si vous écrivez un code qui sera maintenu par quelqu'un d'autre plus tard, de ne pas utiliser votre préférence personnelle dans la syntaxe de codage. Resharper devient utile dans le code de mise en forme d'une manière qui est reconnaissable à un public très large. P>
J'appartiens à l'École de pensée qui dit que cela n'a pas d'importance de savoir qui est juste. Si nous nous attachons tous à un motif, nous allons tous trouver plus facilement la lecture de chaque autre code. P>
Donc, à mon humble avis, ne modifiez pas les paramètres de Restomes par défaut. Acceptez simplement que si vous utilisez les valeurs par défaut, vous rendez la vie simple pour tout le monde. P>
Je suis d'accord avec vous lors de l'utilisation des paramètres par défaut des outils. Malheureusement, de ce que j'ai vu, je n'aime pas les valeurs par défaut de Resharper
Je changerais toujours le réglage de «Var» de Resharper au type explicite en raison de la sécurité. Lisible va bien, mais cela peut faire de graves dégâts après des refacteurs de quelqu'un.
Aucun de ceux-ci n'aura aucun effet sur la performance, seulement em> sur la lisibilité. P>
Je trouve des suggestions 1 et 2 pour être plus lisibles et 3 moins lisible que votre code d'origine. p>
Mais vous n'avez pas besoin de simplement suivre ces suggestions si, par exemple, vous les trouvez moins lisibles ou si elles violent la norme de style de code de votre entreprise. Lorsque vous mettez le curseur sur la ligne Squiggly, appuyez sur Alt-Entrée pour afficher la liste des actions de Contex. L'un d'entre eux sera de changer la gravité de l'inspection; Vous ne pouvez pas le montrer du tout ou le montrer comme indice. Vous pouvez trouver une liste complète des inspections à
Il n'y a qu'une seule chanson de Rigobert. Assurez-vous de consulter les différentes occurrences de DUP des sous-requêtes de ceci sur ce forum.
Essayez d'installer Stylecop et Stylecop-for-Resharper qui vous donnera les directives de style de codage recommandées par Microsoft. Vous devrez modifier cependant de modifier les règles de R #. En ce qui concerne l'utilisation de Var, nous l'utilisons toujours en interne car cela aide la lisibilité à notre avis - Les types sont destinés au compilateur, pas d'humains.
Hm. J'ai toujours utilisé le type - je suppose que je me sens comme si vous devriez être conscient de ce que vous récupérez de vos expressions Lambda, et cela aide un peu si vous le spécifiez de manière simple.
Sans rapport avec votre question mais en utilisant
tout () code> au lieu decompte () == 0 code> est une meilleure option car ce dernier peut avoir à énumérer toute la collection pour vous dire si est vide ou non.