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: <https://home.comcast.net/~jesse98/public/Smokey>. The web site also has an html report for one of the System assemblies and a list of all of Smokey's rules. Changes from Smokey 1.0.0.0: * Added 3 new rules: ClassPrefix, majority of class names in a namespace start with a common prefix. Hungarian, a type uses Hungarian notation for variable names. WinFormsVoodoo, Application.EnableVisualStyles and SetCompatibleTextRenderingDefault aren't called. * InternalInterfaceRule checks to see if the interface is actually internal. * UseBaseTypesRule checks to see if the base type is externally visible. * UseBaseTypesRule ignores parameters with generic types (they aren't handled quite right by the rule). * RequireSerializableCtorRule ignores classes which inherit from Exception (ExceptionConstructorsRule will handle those). * Made SerializeExceptionRule cause language clearer. * Added more system methods for IgnoredReturnRule to ignore. * InternalInterfaceRule report now includes the interface name. -- Jesse _______________________________________________ Mono-list maillist - Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list