InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

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

Posted by Udi Dahan on Oct 29, 2007

Sections
Process & Practices,
Architecture & Design,
Development
Topics
Code Analysis ,
.NET
Tags
Visual Studio ,
FXCop
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.

No comments

Watch Thread Reply

Educational Content

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.