views:

188

answers:

2

if writing my own static code analysis rules (for C# code), what are the pros and cons of using stylecop vs fxcop?

is one more appropriate for certain type of analysis than the other? or is the difference between the two that one runs on the source code and the other on the compiled assembly?

A: 

They are different tools. StyleCop is focused on code style. You can check doc. comments, naming convention, spacing, etc. Altough it can do almost the same things as StyleCop, FxCop is focused on the Microsoft Design Guidelines. It will analyze your code looking for possible performance and security issues, among other things.

I never wrote rules for any of them, but I believe that you should go for the one that does exactly what you want (if just coding standards, go with StyleCop, otherwise, go with FxCop). This way, you'll probably feel more confortable with the API.

Check these Wikipedia links:

Fernando
isn't entire true: http://blogs.msdn.com/sourceanalysis/archive/2008/05/23/announcing-the-release-of-microsoft-source-analysis.aspx
Rubens Farias
+6  A: 

A key difference is that StyleCop analyzes C# source code. FxCop analyzes .NET assemblies after they are compiled, it works for any language. Accordingly, StyleCop is picky about how your source code looks. FxCop is picky about how you use the .NET framework classes. They complement each other.

Hans Passant