web-dev-qa-db-fra.com

Analyse de code Visual Studio vs StyleCop + FxCop

J'utilisais auparavant StyleCop + FxCop sur mes projets Visual Studio. Mais maintenant, je teste l'outil d'analyse de code Visual Studio, qui est plus facile à intégrer dans MSBuild, et j'ai constaté que cet outil analyse certaines des règles de FxCop et de StyleCop.

Cet outil remplace-t-il à la fois FxCop et StyleCop ou met-il simplement en œuvre certaines de leurs règles?

72
Jader Dias

Visual Studio inclut FxCop + plus.

Depuis le blog développeur de FxCop :

Désolé pour mon ignorance, mais je suppose que FxCop est complètement distinct de l'analyse de code dans VSTS? Plus précisément, je suppose que si j'installe la nouvelle version de FxCop, VSTS n'en profitera pas (pas de code partagé?)? Si tel est le cas, avez-vous une idée du moment où ces changements seront intégrés à l'analyse de code VSTS? Merci!

C'est vrai, ce sont des produits différents, mais ils ont un moteur commun. Visual Studio 2008 SP1 est déjà livré avec les mêmes correctifs et analyses (et un peu plus), il n'est donc pas nécessaire de "mettre à jour" Visual Studio avec le dernier FxCop.

Un blog développeur a également donné les règles exactes qui se trouvent dans chacun.

Quant à StyleCop, il est indépendant de VS Code Analysis comme décrit dans ce billet de blog , qui renvoie à Jader Dias 'post .

47
Ben S

Ma compréhension est que Visual Studio Code Analysis est fondamentalement une version légèrement modifiée de FxCop. D'après mon expérience, c'est presque la même chose (en fait, je crois que l'analyse de code utilise l'exécutable FxCop en arrière-plan).

Bien qu'il existe un chevauchement entre FxCop/CodeAnalysis et StyleCop; FxCop a tendance à se concentrer davantage sur les règles de conception et StyleCop se concentre sur le style de codage (boîtier, espace blanc, retraits, etc.).

FxCop analyse également l'IL tandis que StyleCop analyse directement le code source. Cela impose un ensemble différent de restrictions sur les règles qu'ils peuvent appliquer chacun.

13
Dylan Smith

Jusqu'à présent, ma recherche sur Google a abouti à la réponse suivante:

http://blogs.msdn.com/bharry/archive/2008/07/19/clearing-up-confusion.aspx

états:

"Nous avons constaté que StyleCop est, en fait, un outil très utile et qu'il fait les choses que FxCop et TeamDev ne font pas (et il ne fait pas les choses qu'elles font). C'est un merveilleux outil complémentaire. StyleCop est un outil pour effectuer une vérification de style de codage pour vérifier que le code source est formaté comme vous le souhaitez et suit les directives de style pour les conventions. Bien qu'il y ait un chevauchement avec FxCop (comme la vérification de la capitalisation des identifiants), le chevauchement est minuscule car StyleCop ne fait pas l'analyse approfondie qui les autres outils d'analyse statique permettent d'activer les contrôles d'exactitude du code, les contrôles de sécurité, etc. "

Mais je ne sais pas si le "TeamDev" est la même chose que "l'analyse de code de Visual Studio"

11
Jader Dias