3 Réponses :


1
votes

supprimer!

L'analyse FXCOP / code n'est que vraiment des directives. Cela peut aider à améliorer les parties de votre code, surtout si elle est distribuée à d'autres développeurs à utiliser, mais à la fin de la journée, ce n'est qu'une directive et vous pouvez coder comme vous le souhaitez.


0 commentaires

4
votes

mordre la balle ou au moins ajouter des commentaires. Comment Johnny le codeur homicide sache que INT32.TRYPARSE fournira une sortie 0 sans regarder de la documentation externe? De même, comment sache-t-il que 0 est ce que vous voulez que la valeur par défaut soit? La mise en œuvre ultérieure est spécifique dans son but, alors je dois accepter avec FXCop ici.

N'oubliez pas que Johnny sait où vous vivez.

Avec cet étant dit, je supprime souvent le style flic, (en grande partie parce que j'utilise l'async ctp qui ne joue pas encore bien ensemble). Les directives de style sont exactes que les directives. Utilisez votre tête, mais toujours commête du côté de la clarté si la performance est une non-question.

Gardez à l'esprit que ce comportement comme celui-ci pourrait être changé à l'avenir, vous souhaitez toujours avoir 0 pour être la valeur par défaut? Cela pourrait-il changer? Même si vous refacteur dans une méthode d'assistance Parseordfault, vous devez probablement expliquer un changement raisonnable des valeurs par défaut pendant la durée de vie du produit.


3 commentaires

Si Johnny connaît son C #, il saura cela parce que la méthode appelée est requise pour attribuer une valeur à tout paramètre déclaré à l'aide du modificateur out>. Ceci n'est rien qui est spécial sur int32.trypsarse .


Sauf que l'attribution int32.tryparse à 0 est toujours spécifique (bien que commune) à cette méthode, plus, qui a déclaré que Johnny est compétitif? ;-) Il est juste homicide.


TRUE, que la valeur est 0 est spécifique à tryparse . Et l'homicide est un argument assez fort: o)



7
votes

Pourquoi ne pas refacteur votre Tryparse S dans une seule fonction avec le comportement que vous avez après?: XXX

De cette façon, vous évitez l'avertissement ennuyeux et fossé le code redondant. Une fonction distincte rend vos attentes explicites et ne laisse aucune place à la confusion.


2 commentaires

Pourquoi avez-vous plusieurs retours? C'est une très mauvaise pratique qui conduit à des tests inconfortants et à un refactoring.


@Firoso - cela fonctionnerait comme une méthode d'extension de chaîne également (nommée différemment). Les retours multiples ne me dérangent pas, en particulier dans une fonction courte. Bruce Eckel ne semble pas les intéresser non plus: Onthethehat.blogspot.com / 2004/12 / ... . Mais par tous les moyens, évitez-les si vous ne les aiment pas.