Sunday, January 3, 2010

SSW Code Auditor

 

Developers of .NET programs face many challenges in developing applications not the least of which is trying to stay consistent and following best coding practices. It is not uncommon to find variations in coding even though code was developed by the same person. The problem of inconsistent and bad coding is amplified when working in teams and exacerbated when developing large and/or complex programs despite having written coding standards and best practices. One can argue that if developers follow written standards and best practices then the problem can be mitigated but this has been proven wrong time and again and over reliance on developers without proper and timely checks is not only futile but also not prudent and ineffective. Any and all coding issues need to be identified early on during code development in order to be cost effective and develop good quality code. One can also argue in favor of manually checking the code for such inconsistencies but that is just not practical and is ineffective. What is really needed is a solution that is easy to use, flexible, automated, reliable, and developed by experienced professionals. SSW Code Auditor developed by Superior Software for Windows (SSW) is one such code analyzer and auditor that enables developers to identify and fix code bugs and inconsistencies early on in the development process. SSW Code Auditor is a one stop shop for enforcing coding standards and best practices to ensure quality software development in a cost effective manner. It is a simple and professional solution to effectively manage coding practices and standards by also providing ability to have custom audit rules and automate auditing of multiple .NET projects at the same time.

Installation of SSW Code Auditor is simple and very intuitive. I installed it on Windows 7 without any problems. The application itself is very easy to use. SSW Code Auditor provides two easy methods to audit code: from the Visual Studio add-in and from Windows start menu. I use Visual Studio 2008 and the add-in was added automatically by the installation. The add-in is visible as a toolbar in Visual Studio IDE and is easily accessible. Some of the options may be different depending on whether the audit was run from the start menu or visual studio add-in. For instance, the add-in can audit the currently opened project file and does not have email option. There is practically little to no learning curve involved in using the code auditor. Furthermore, the code auditor wizard walks through the auditing process from beginning to finish and makes it a breeze for anyone wishing to audit their code. The wizard feature is a great time saver. The wizard enables users to hit the ground running without spending too much time trying to figure out how to do things.

I think one of the key features of SSW Code Auditor is the extensive set of predefined rules and the ability to create new rules to tailor the auditing process to suit ones requirements. Admittedly, some of the rules identify the most common bad practices or mistakes that I make as a developer and this is evident from the audit report shown in a screenshot later in this review. For instance, I use VbCrlf a lot and there is a rule that identifies this practice and suggests that the best practice is to use “Environment.NewLine”. There are many other user interface related best practices that I often ignore which are promptly identified by the code auditor. These rules not only promote best practices but also enable code optimization. I think the built in wizard is a great strength of the code. In addition, I think the ability to have different set of rules for different audit jobs is also a very useful feature. Another huge plus point in SSW Code Auditor is the ability to create many jobs with the ability to audit many projects in a job and add to that the ability to schedule the audit jobs you get a powerful automated audit process. One more feature of SSW Code Auditor that will be extremely useful to users is the ability to have the audit report emailed to any number of recipients either on demand or on schedule. Last but certainly not the least; in fact the most prominent feature of SSW Code Auditor is the output audit report that is generated after the audit. The audit report is very detailed, intuitive, and organized. The report is in XML format. The report contains the summary of the audit results and links to the problem areas in the analyzed code. The report is well organized and presented in such a way that it is very easy to navigate to the lines of code that have been identified as having issues based on the rules executed as part of the audit. The audit report can be customized to show the results by the rules that failed or by the files that were analyzed. Regardless how the results are ordered the report contains the line number(s) in the project file and links to those lines of code that failed the rules. The links when clicked take you directly to the project file with the lines of code that have failed the rules. Basically, the report is easy to work with, very user friendly, and very detailed.

In conclusion, SSW Code Auditor is a very good, multi-featured code auditing software that is very easy to use. It is a one stop shop for analyzing and auditing .NET code. It allows anyone with any type of skill level to use the software for auditing code. The wizard helps make the audit process a breeze. The extensive predefined rules coupled with the support for the creation of custom rules ranging from basic to advanced complexity is a strong feature of SSW Code Auditor. SSW Code Auditor lets anyone accomplish the goal of having bug free, consistent, good quality software. SSW Code Auditor is very easy to use yet very powerful; provides many advanced features, and provides wizard functionality to assist user in code audit. There is no doubt developers across the board ranging from beginners to experts will find SSW Code Auditor a very useful and cost effective means of developing good quality, error free coded applications.

Add-in code audit screenshots:

clip_image002

clip_image004

clip_image006

clip_image008

clip_image010

clip_image012

clip_image014

Start menu code audit screenshots:

clip_image016

clip_image012[1]

clip_image018

clip_image020

clip_image022

clip_image024

clip_image026

clip_image028

No comments: