Terje Sandstrom

------ Chief Software Geek at Inmeta Consulting in Scandinavia ----- and a Visual Studio ALM MVP

  Home  |   Contact  |   Syndication    |   Login
  38 Posts | 1 Stories | 18 Comments | 0 Trackbacks

News

Follow me on twitter: @OsirisTerje

Twitter












Tag Cloud


Article Categories

Archives

Post Categories

Image Galleries

Company stuff

Interesting bloggers

Interesting companies

Microsoft

Microsoft Norge

Microsoft Regional Directors

Microsoft Test

MSFT Blogs

MVP

NNUG

Other interesting stuff

TFS

Visual Studio

Code Analysis

Memory for managed code is handled by the garbage collector, but if you use any kind of unmanaged code, like native resources of any kind, open files, streams and window handles, your application may leak memory if these are not properly handled. To handle such resources the classes that own these in your application should implement the IDisposable interface, and preferably implement it according to the pattern described for that interface. When you suspect a memory leak, the immediate impulse would...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

There have been several reports on problems with the Static Code Analysis (SCA) not adhering to the statements of the Code Contract tools. See these links: connect, forum1, forum2. The problem can be shown in the following code snippet: Code Problem: public int FindLength1(string something) { Contract.Requires(something != null); return something.Length; } Running a Code Analysis gives a CA1062 warning (note: use a ruleset which enables this warning) saying: Warning 5 CA1062 : Microsoft.Design :...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

In Visual Studio the settings for static analysis is done on the project property page, a tab called Code Analysis. You can set which code analysis rules you want to be active. The default in Visual Studio 2008 is to use all. If you run with this default setting you will generate a lot of "noise", since there are a large set of rules. You need to create a set containing the rules you and your team find are suitable for your organization and project. This set you have to apply to every C# project...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

When I do either Code Analysis, Code Metrics or looking at Code Coverage results, I don't want to have any generated code affecting the results. It just confuses the numbers, and I do not really care how generated code looks - it should just be invisible. Generated code appears several places, code is generated by any of the multitude of wizards and designers in Visual Studio, or it may be generated by a 3rd part tool or generated by a self-written tool. There exist an attribute which, if attached...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati