Reference -
OO Metrics stuff -
http://www.objectmentor.com/resources/articles/oodmetrc.pdf
This paper describes a set of metrics that can be used to measure the
quality of an object-oriented design in terms of the interdependence
between the subsystems of that design. Designs which are highly
interdependent tend to be rigid, unreusable and hard to maintain.
Yet interdependence is necessary if the subsystems of the design are
to collaborate. Thus, some forms of dependency must be desirable,
and other forms must be undesirable. This paper proposes a design
pattern in which all the dependencies are of the desirable form.
Finally, this paper describes a set of metrics that measure the
conformance of a design to the desirable pattern.
Tools for source code analysis -
1) http://pmd.sourceforge.net/
PMD scans Java source code and looks for potential problems like:
Unused local variables
Empty catch blocks
Unused parameters
Empty 'if' statements
Duplicate import statements
Unused private methods
Classes which could be Singletons
Short/long variable and method names
2) http://checkstyle.sourceforge.net/
Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard. It automates the process of checking Java code to spare humans of this boring (but important) task. This makes it ideal for projects that want to enforce a coding standard.
3) http://www.clarkware.com/software/JDepend.html
JDepend traverses a set of Java class and source file directories and generates design quality metrics for each Java package. JDepend allows you to automatically measure the quality of a design in terms of its extensibility, reusability, and maintainability to effectively manage and control package dependencies.
4) http://www.kclee.com/clemens/java/javancss/
Metrics can be applied to global-, class-, or function-level.
Non Commenting Source Statements (NCSS).
Cyclomatic Complexity Number (McCabe metric).
Packages, classes, functions and inner classes are counted.
Number of formal Javadoc comments per class and method.
Average values are calculated.

0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home