J'ai toujours tendance à regrouper tous les éléments qui appartiennent à une propriété de dépendance (enregistrement, propriété clr, changement de rappel, rappel de coercition, etc.) en une seule région. Mais cela viole les règles de commande des membres du stylecop. C'est aussi un problème général avec les codes codes qui génèrent plusieurs membres, car les extraits ne peuvent pas générer de code à différents endroits dans mon fichier. Quelle est votre philosophie à ce sujet? Disposez-vous les règles stylecop ou mettez-vous tout à son «bon» endroit?StyleCop vs DependencyProperties
Personnellement, je pense aussi que stylcop ne devrait pas se plaindre à ce sujet:
/// <summary>
/// RepeatX Dependency Property
/// </summary>
public static readonly DependencyProperty RepeatXProperty =
DependencyProperty.Register(
"RepeatX",
typeof(int),
typeof(GeometryViewbox),
new FrameworkPropertyMetadata
{
DefaultValue = 1,
AffectsRender = true,
AffectsParentMeasure = true,
PropertyChangedCallback = OnRepeatXChanged,
CoerceValueCallback = CoerceRepeatXValue
});
Stylcop devrait générer du travail addtional pour nous de faire. Dans l'exemple ci-dessus coller à stylcecop vous rend moins productif et le code devient moins lisible, car vous êtes obligé de mettre le code ci-dessus dans le ctor statique (au lieu de l'initialisation de champ) pour pouvoir transformer FrameworkPropertyMetadata en variable temp. Une variable temp supplémentaire pour chaque propriété de dépendance ne rend pas le code plus lisible/maintenable, plus vous ne pouvez plus utiliser les codesnippets.
+1 pour signaler le libre arbitre. –
Bien sûr, nous ne sommes pas obligés d'utiliser stylecp mais je pense que nous sommes tous d'accord pour dire que c'est très utile. Surtout si nous écrivons du code qui est public ou utilisé par beaucoup de membres de l'équipe. Il y a juste l'une ou l'autre règle qui devrait fonctionner légèrement différente. Bien sûr, nous pouvons désactiver les règles et écrire nos propres règles. Mais les règles par défaut sont là pour un but. Ils peuvent être considérés comme des conseils pour les meilleures pratiques. C'est pourquoi ce serait une bonne idée de les rendre aussi largement applicables que possible. – bitbonk
Certaines des règles par défaut sont là pour compenser les déficiences du Microsoft diff aussi. Si vous en utilisez un autre (sans jeu de mots), devriez-vous utiliser des règles mises à jour? Probablement pas. Les règles par défaut sont présentes car elles appliquent le style interne de MS. Est-ce la meilleure pratique pour mettre un commentaire de style Microsoft interne au sommet de chaque fichier source? Nan. Ce ne sont pas tous des conseils sur les meilleures pratiques. C'est un vérificateur de style, rien de plus. Ce n'est pas FXCop où ce sont des règles de bonnes pratiques. – blowdart