November 11, 2014

Working with NDepend


NDepend is a software tool which can be integrated with Visual Studio. After successful installation, you can see an NDepend menu option in your Visual Studio menu bar. Most of the sub-menu may be disabled. Here, I have integrated NDepend with MS Visual Studio 2010. To work with, select menu:


NDepend > NDepend Start Page


The start page will display solution analysis link and can be look like as shown in figure below.


To analyze your project and solution, click on link “Analysis VS Solutions and VS Projects”.

It will pop up a child window which will display all solution files available in your system. You can select any solution file or can browse a solution from “Browse” button and then click OK.

In next window, it may ask to choose an assembly from list of assemblies. For this just click on “Analyze .Net 4 assembly” button, now you can see all the sub-menus have been activated.



Dashboard:

The dashboard will display summary of your project solution including- lines of code, method complexity, code rules, rules violated, types, percentage of comment lines, third-party usages and related. A summary dashboard you can see in below image.






To be continued in next article, detail about working of NDepend.

October 24, 2014

Software Quality Assurance (QA) and NDepend

Background:

Software quality is not limited to testing for strong validations, security and vulnerabilities but also depends upon its architecture, coding standards, and defined business logics.

Quality assurance (QA) generally does by separate quality team in software industries and qualifies it after validations, security, vulnerabilities and performance testing. Testers do not have any idea about coding standards and business structures used behind the scene. Now the question arises, if coding guidelines and business structure are not defined properly then does the software will be really a quality product?

Object oriented (OO) concepts are not a piece of cake. Understanding, coding and managing software program in object oriented paradigm (OOPs) is really a big challenge in software development.

Consider you are the lead of a project and numbers of programmers are programming. Your assigned project is really big, then how you will assure about its quality in terms of coding standard, unless you do not have thorough knowledge about written codes? Second thing, is it an easy task for you to review entire project code lines and to decide whether the implemented concepts are write or wrong? Where the programmers have violated the rules? What could be the best approach? To find the variables defined but never been used? What are the dead codes? Rules violated, project dependencies, third party DLL(s) used in it? Not limited to these only, but numerous of similar challenges comes while handling large projects, because you can never assume all the programmers have same understandings.

Before, to overcome these problems, you need to do hard work to review and find all code logic written in assemblies or in project scope. But now a day’s tools are available in market those can really make your task easy and accurate.



NDepend: Your project review partner.

One of the tools I discovered is NDepend. This tool finds all the dependencies, assemblies used in project, reviews the code lines, classes & OOPs methodologies implemented and finally gives you a visual report from where you can easily monitor and track the limitations as well rules violated in your class libraries. Nevertheless, it has a user friendly dashboard which shows graphical representations of entire code activities, dependencies, code rules, rules violated, types, percentage of comment lines, third party tools used and similar.