2009-10-01 5 views
0

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.

Répondre

5

Dans l'exemple ci-dessus coller à stylcecop vous rend moins productif plus le code devient moins lisible

Si vous croyez vraiment que ne l'utilisez pas. Personne ne vous force à l'utiliser, tout comme personne ne vous oblige à cesser d'utiliser la notation hongroise si vous le souhaitez. Si vous êtes un développeur solitaire et que personne ne verra votre code source, formatez-le, mais vous serez heureux, vous êtes la personne qui doit le maintenir. Si vous faites partie d'une équipe plus importante, vous devriez avoir quelques normes de codage en place pour que vous puissiez lire le code de l'autre facilement - mais vous n'avez pas besoin d'utiliser stylecop si vous ne le souhaitez pas.

Ce n'est pas parce qu'un outil est disponible que cela répond à vos besoins et que vous devez l'utiliser. Vous êtes autorisé à penser par vous-même.

+0

+1 pour signaler le libre arbitre. –

+1

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

+1

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

4

Nous avons tendance à tout mettre comme le suggère Stylecop. C'est juste plus facile de cette façon. Moins de tracas. Et si vous suivez les règles dans tous les cas, vous savez toujours où chercher des choses. En outre, vous pouvez utiliser ce menu déroulant pour accéder directement aux déclarations des membres. FWIW, nous n'utilisons jamais non plus de régions. Les choses sont moins encombrées de cette façon.

+0

+1 100% d'accord! Arrête les discussions interminables sur le fait de le faire de cette façon ou de le faire de cette façon. –

+0

+1 Allez-y avec ce qu'il dit, c'est incroyable de voir à quel point vous commencerez à écrire du code que les flics aiment. –

Questions connexes