Metrics | Tools | |||
Category | Metric | Comment | RSM | Sonar |
Function Metrics | LOC Lines of Code | Per Function, All Functions | Yes | Yes |
eLOC (Effective LOC) | Per Function, All Functions | Yes | Yes | |
lLOC (Logical Statements LOC) | Per Function, All Functions | Yes | No | |
FP Function Points Derived from LOC metrics | Per Function, All Functions | Yes | No | |
Comments Lines | Per Function, All Functions | Yes | Yes | |
Blank Lines | Per Function, All Functions | Yes | Yes | |
Physical Lines | Per Function, All Functions | Yes | Yes | |
Number of Input Parameters | Per Function, | Yes | No | |
Number of Return Points | Per Function, | Yes | No | |
Interface Complexity (Parameters + Returns) | Per Function, | Yes | Yes | |
Cyclomatic Complexity Logical Branching | Per Function, All Functions | Yes | No | |
Functional Complexity (Interface + Cyclomatic) | Per Function, All Functions | Yes | No | |
Functional Quality Analysis | Per Function, | Yes | Yes | |
Number of functions Total, Average, Maximum and Minimums | All Functions | Yes | Yes | |
Logical Lines | All Functions | Yes | No | |
Return Points | All Functions | Yes | No | |
Function Parameters | All Functions | Yes | No | |
Total Quality Profile | All Functions | Yes | ? | |
Class Metrics | Number of public, private, protected data attributes | Per Class, All Classes | Yes | Yes |
Number of public, private, protected methods | Per Class, All Classes | Yes | Yes | |
Template Type | Per Class, | Yes | No | |
Inheritance | Per Class, | Yes | No | |
Depth of Inheritance Tree | Per Class, | Yes | Yes | |
Number of derived child classes per base class | Per Class, | Yes | Yes | |
LOC Lines of Code | Per Class, All Classes | Yes | Yes | |
eLOC (Effective LOC) | Per Class, All Classes | Yes | No | |
lLOC (Logical Statements LOC) | Per Class, All Classes | Yes | No | |
Comments Lines | Per Class, All Classes | Yes | Yes | |
Blank Lines | Per Class, All Classes | Yes | Yes | |
Physical Lines | Per Class, All Classes | Yes | Yes | |
Number of Input Parameters | Per Class, All Classes | Yes | No | |
Number of Return Points | Per Class, All Classes | Yes | No | |
Interface Complexity (Parameters + Returns) | Per Class, All Classes | Yes | No | |
Cyclomatic Complexity Logical Branching | Per Class, All Classes | Yes | No | |
Class Complexity (Interface + Cyclomatic) | Per Class, All Classes | Yes | Yes | |
Class Quality Analysis RSM Quality Analysis | Per Class, | Yes | No | |
Total number of classes | All Classes | Yes | Yes | |
Inheritance Tree | All Classes | Yes | No | |
Number of Base Classes | All Classes | Yes | Yes | |
Number of Derived Classes | All Classes | Yes | Yes | |
Derived/Base Class Ratio | All Classes | Yes | No | |
Maximum and Average Inheritance Depth | All Classes | Yes | No | |
Maximum and Average Number of Child Classes | All Classes | Yes | No | |
Total Quality Profile | All Classes | Yes | ? | |
Namespace or Package Metrics | Number of classes | Per Namespace, All Namespace/Packages | Yes | Yes |
Number of functions | Per Namespace, All Namespace/Packages | Yes | Yes | |
Average functions per class | Per Namespace, | Yes | Yes | |
Number of public, private, protected data attributes | Per Namespace, All Namespace/Packages | Yes | Yes | |
Number of public, private, protected methods | Per Namespace, All Namespace/Packages | Yes | Yes | |
LOC Lines of Code | Per Namespace, All Namespace/Packages | Yes | Yes | |
eLOC (Effective LOC) | Per Namespace, All Namespace/Packages | Yes | No | |
lLOC (Logical Statements LOC) | Per Namespace, All Namespace/Packages | Yes | No | |
Comments Lines | Per Namespace, All Namespace/Packages | Yes | Yes | |
Blank Lines | Per Namespace, All Namespace/Packages | Yes | Yes | |
Physical Lines | Per Namespace, All Namespace/Packages | Yes | Yes | |
Number of Input Parameters | Per Namespace, All Namespace/Packages | Yes | No | |
Number of Return Points | Per Namespace, All Namespace/Packages | Yes | No | |
Interface Complexity (Parameters + Returns) | Per Namespace, All Namespace/Packages | Yes | No | |
Cyclomatic Complexity Logical Branching | Per Namespace, All Namespace/Packages | Yes | No | |
Package/Namespace Complexity (Interface + Cyclomatic) | Per Namespace, All Namespace/Packages | Yes | No | |
Quality Analysis RSM Quality Analysis | Per Namespace, | Yes | No | |
Total Quality Profile | All Namespace/Packages | Yes | ? | |
File Metrics | LOC Lines of Code | Yes | Yes | |
eLOC (Effective LOC) | Yes | No | ||
lLOC (Logical Statements LOC) | Yes | No | ||
FP Function Points Derived from LOC | Yes | No | ||
Comments Lines | Yes | Yes | ||
Blank Lines | Yes | Yes | ||
Logical and Physical Lines | Yes | Yes | ||
Comment and White space percentages | Yes | Yes | ||
Average Character line length | Yes | No | ||
Memory Allocation and De-allocation metric | Yes | No | ||
Language Keyword use | Yes | No | ||
Language Construct use | Yes | No | ||
Extract Comments per file for understandability rating and spell checking | Yes | No | ||
Extract Strings per file for spell checking | Yes | No | ||
Create files in line numbered format for code reviews | Yes | No | ||
Number of Quality Notices per file | Yes | No | ||
Metrics differentials between two file version | Yes | No | ||
Project Metrics | Total LOC, eLOC, lLOC, Comment, Blanks, Lines | Yes | Yes | |
FP Function Points Derived from LOC metrics | Yes | No | ||
Total Function Metrics | Yes | No | ||
Total Class Metrics | Yes | Yes | ||
Total Namespace Metrics | Yes | No | ||
Inheritance Tree and Metrics | Yes | No | ||
Language Keywords, constructs and metrics | Yes | No | ||
Quality Profile | Yes | ? | ||
Metric Estimation Factors for software estimates | Yes | No | ||
Total Language Metrics Example | Yes | No | ||
Total C, C++ and Header Files | Yes | No | ||
Total Java Files | Yes | No | ||
Total Number of Files | Yes | Yes | ||
Baseline Metric Differential | Yes | Yes |
Latest posts by Mantosh Singh (see all)
- What is Quantum Computing and How to learn it? - November 3, 2023
- Top 10 IT Corporate Training and Consulting Companies - October 11, 2023
- Google My Business Website – All you need to know? - August 25, 2023