Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News New Code Analysis Tool FxCop Beta: 200 bug fixes, anonymous methods support

New Code Analysis Tool FxCop Beta: 200 bug fixes, anonymous methods support

With over 200 bug fixes and significant performance improvements, this beta is what many FxCop users have been clamoring for. This little-known code analysis tool checks .NET managed code assemblies for conformance to the Microsoft .NET Framework Design Guidelines. Beyond basic library design and naming convention checks, FxCop is especially valuable in pointing out globalization, interoperability, and security issues - areas in which even experienced developers may lack skills.

One of the important new features added in the latest release is the ability to analyze code in anonymous methods and lambda expressions. David Kean recently discussed this topic on the Visual Studio Code Analysis Team Blog:
  ...previously, in Visual Studio 2005, the engine would simply skip over these constructs and the user wouldn't find out about any violations, if any, contained within them. The good news is that we will now analyze them. The bad news is that any project making heavy use of anonymous methods is likely no longer Code Analysis clean on its upgrade to Visual Studio 2008.
Teams doing Continuous Integration may be interested to know that "FxCop is designed to be fully integrated into the software development cycle and is distributed as both a fully featured application that has a graphical user interface (FxCop.exe) for interactive work, and a command-line tool ( FxCopCmd.exe) suited for use as part of automated build processes".

Team leads may also find the tool useful for getting developers new to .NET up to speed on the accepted practices. Organizations doing off-shore development will also find the built-in dictionary invaluable in keeping spelling mistakes out of their product.

FXCop is also used by Microsoft's Developer Division internally, as reported in previous InfoQ coverage.

Rate this Article