Jesse Jones | 20 Oct 09:45

[ANN] Smokey 1.4 - assembly checker

Smokey is a command line tool used to analyze assemblies and report  
problems. Problems include buggy code (e.g. infinite recursion, null  
deref, malformed format string), performance issues (e.g. string  
concatenation in loops, excessive boxing, large structs), violations  
of the .NET design guidelines (e.g. inheriting from  
ApplicationException or ICloneable, naming, and swallowing  
exceptions), and miscellaneous rules like misspelled words in string  
literals.

You can download Smokey from the web site:
<http://code.google.com/p/smokey/>. The web site also has an html  
report for one of the System assemblies and a list of all of Smokey's  
rules.

This release of Smokey has 233 rules.

Changes from Smokey 1.3.0.0:
* Added nineteen new rules:
    - BaseDisposable, should have Dispose(bool) method.
    - ConfusingDispose, not IDisposable but has Dispose method.
    - ConstantResult, Equals, GetHashCode, or relational operator  
always returns a constant.
    - DerivedDisposable, Dispose(bool) should call base, don't have a  
finalizer.
    - Disposable, checks for eleven problems including improper  
naming, a Dispose method throwing, and Dispose(bool) using a field  
without a null check.
    - EqualsMissesState, Equals does not check a field exposed by a  
trivial get/set property.
    - Finalizeable, empty, throws, or not IDisposable.
(Continue reading)


Gmane