Project Description
SharpAnalyzer is a Static Code Analysis tool for Microsoft .Net C# platform. The input can be a project or solution and it will go deep down to the classes and its members (properties, methods and etc.) and calculate some types of metrics, then will accumulate the results back to classes, namespaces, projects and the solution. The project is about a way to calculate those metrics and visualize the results in a way that it would be easy to understand for humans (like the developer itself or the team’s architect or project manager) and by other solutions (like build machines or source control policy managers).
For each class and its members SharpAnalyzer calculates Maintainability Index, Cyclomatic Complexity, Class Coupling, Depth of Inheritance, Lines of Code and Comment, Lack of Cohesion of Methods (normal and Henderson Sellers method), Halstead Metrics, Number of members (fields, methods, events and etc.), Afferent and Efferent Coupling, Instability Index. As SharpAnalyzer says, the project itself is “1349 lines of code”