A Stylecop remplacé FXcop? Quel produit doit-on utiliser avec Visual Studio 2008?
Réponses
Trop de publicités?Stylecop est un style un outil d'analyse qui travaille au niveau du code source. Il existe principalement pour fournir un seul point commun qui a géré des projets peuvent utiliser pour rester cohérente dans le vaste monde de logiciel de gestion. Il prend les décisions relatives au style principalement pour éviter les guerres saintes (après tout, le style est presque toujours une intrinsèquement subjective de la chose). Je ne pense pas que je ai jamais rencontré quelqu'un qui aimait tous StyleCop règles, mais c'est ok. Cela signifie que StyleCop est généralement un bon compromis entre le vaste ensemble de lignes directrices de style qui existent. (Si stylecop règles ont été hautement personnalisable, au-delà de simplement l'activation/la désactivation, il irait à l'encontre de l'objectif de l'outil.)
FxCop, d'autre part, est un outil d'analyse statique qui fonctionne sur le niveau de la gestion de l'assemblée. Il peut être donné les directions par attributs, car il peut voir les attributs sur les éléments de code, e.g.. Il détecte les problèmes qui peuvent être vus sur le "binaire" (comme elle l'était), par opposition au niveau syntaxique.
Pour répondre à votre question, StyleCop n'a pas préséance sur les FxCop, et FxCop n'a pas préséance sur les stylecop. Ils sont deux outils différents avec deux fins différentes, qui peuvent à la fois fournir un réel avantage pour votre code.
(AKA, je cours avec les deux. :) )
Quelques exemples de choses que l'on peut déceler vs les choses de l'autre peut détecter:
StyleCop violations pourraient inclure des avertissements liés à: Espace, mise en forme, méthode Publique de la documentation via xml-commentaires, afin de définition de la méthode au sein d'une classe.
FxCop violations pourraient inclure la mise en garde relative à: la Mondialisation, le couplage, la complexité cyclomatique, potentiel null déréférence.
Une alternative ou un bon complément à FxCop/StyleCop serait d'utiliser l'outil commercial NDepend. Avec cet outil, on peut écrire le Code de la Règle sur les Requêtes LINQ (à savoir CQLinq). Avertissement: je suis l'un des développeurs de l'outil
Plus de 200 règles de code sont proposées par défaut, ceux-ci incluent la conception, de l'architecture, de la qualité du code, du code de l'évolution, les conventions de nommage, code mort, .NET Fx utilisation...
CQLinq est dédié à écrire du code des règles qui peuvent être vérifiées vivre dans Visual Studio, ou qui peut être vérifié pendant le processus de construction et déclaré dans un code HTML/javascript rapport.
La force de CQLinq plus de FxCop ou StyleCop, c'est qu' il est simple d'écrire un code de règle, et d'obtenir immédiatement des résultats. Les installations sont proposés à parcourir appariés éléments de code. Concrètement, cela ressemble à ça:
FXCop ne l'analyse statique de code de votre code managé assemblées. Il pense que de trouver les questions que va poser des problèmes au moment de l'exécution ou qui affecteront la manière dont le développeur estime que le code sera exécuté (code inaccessible).
StyleCop analyse de la structure de votre code à partir d'un texte de point de vue. Pensez à ce que les problèmes qui affectent le développement et la conception de l'expérience (mise en forme, les conventions de nommage, de la documentation)
Ils sont à la fois TRÈS précieux outils et vous devez utiliser les deux, mais ils se concentrent sur des problèmes différents.
StyleCop effectue l'analyse du code source n'est pas très configurable. Il ne fait pas vraiment la même chose que FxCop, qui analyse le code compilé.
Les articles de wikipédia sur ces fournissent de bons résumés des différences: