Conform with Standards using Microsoft FXCop, A Code Analysis Tool for .NET

Submitted by: 
Language: 
Visitors have accessed this post 7495 times.

When you are already in a production environment, working 8 hours a day or so, developing applications for clients, you must be aware of guidelines and standards needed to be followed in order to assure that your program is robust and maintainable.

Microsoft FxCop is a code analysis tool that checks .NET managed code assemblies for conformance to the Microsoft .NET Framework Design Guidelines. It uses MSIL parsing, and callgraph analysis to inspect assemblies for more than 200 defects in the following areas:

Library design
Globalization
Naming conventions
Performance
Interoperability and portability
Security
Usage

FxCop is intended for class library developers; however, anyone creating applications that should conform to .NET Framework best practices will benefit. FxCop is also useful as an educational tool for those who are new to the .NET Framework or are unfamiliar with the .NET Framework Design Guidelines.

[inline:fxcop.jpg=Microsoft FX Cop]

Microsoft FX Cop checks Naming Rules for example:

Visual Basic

  1. Dim StrWord as String

C#

  1. string StrWord;

Microsoft FxCop would complain and instruct you to use Camel Casing for these variables and to avoid abreviation such as "Str" as prefix. To fix this issue, you may change your declarations to something like this:

Visual Basic

  1. Dim wordEntered as String

C#

  1. string wordEntered;

For method names and properties, it is advised to use Pascal-Casing, that is capitalizing each letter of each word like:

Visual Basic

  1. Public Property ProductCode As String
  2. ...

C#

  1. public string ProductCode {
  2. get { ... }
  3. set { ... }
  4. }

Microsoft FXCop also checks for wrong implementations like when checking a string if it is null or empty, some might use this implementation:

C#

  1. if ( wordEntered.Equals(string.empty) ) { }

OR

C#

  1. if ( wordEntered.Equals("" ) { }

Microsoft FXCop recommends using the string.IsNullOrEmpty function to check for empty strings like this:

C#

  1. if ( string.IsNullOrEmpty(wordEntered)) { }

FXCop still has so many features such as checking for security holes in the code, code performance, localization etc.

To check the full functionalities of Microsoft FXCop, you can download it freely at Microsoft at this address:

http://www.microsoft.com/downloads/details.aspx?FamilyID=9aeaa970-f281-4fb0-aba1-d59d7ed09772&displaylang=en

Try Microsoft FXCop. It would really change your coding habits.
Happy Coding!


Add new comment

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • You may insert videos with [video:URL]
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd> <table> <tr> <td> <th> <img> <h1> <h2> <h3> <iframe> [video]
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <asp>, <c>, <cpp>, <csharp>, <css>, <html4strict>, <java>, <javascript>, <mysql>, <php>, <python>, <sql>, <vb>, <vbnet>. The supported tag styles are: <foo>, [foo].
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Lines and paragraphs break automatically.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.