Evaluating a code base involves various approaches, with the most common one being the measurement of lines of code. This metric offers a rough estimate of the development effort put into the code base while identifying bloated methods and classes to achieve a quality level agreement.
CppDepend goes beyond just counting lines of code by offering more than 80 diverse code metrics. These metrics cover aspects such as code organization (e.g., the number of classes or namespaces, methods declared within a class), code quality (e.g., complexity, comment percentage, parameter count, class cohesion), and code structure (e.g., most-used types, inheritance depth). By harnessing the power of CppDepend, developers can gain invaluable insights into their code base, paving the way for improved overall code quality.
NbLinesOfCode, NbLinesOfComment, PercentageComment, NbProjects, NbNamespaces, NbTypes, NbMethods, NbFields
NbLinesOfCode, NbLinesOfComment, PercentageComment, NbNamespaces, NbTypes, NbMethods, NbFields, Assembly level, Afferent coupling (Ca), Efferent coupling (Ce), Relational Cohesion(H), Instability (I), Abstractness (A), Distance from main sequence (D)
NbLinesOfCode, NbLinesOfComment, PercentageComment, NbTypes, NbMethods, NbFields, Project level, Afferent coupling at namespace level (NamespaceCa), Efferent coupling at namespace level (NamespaceCe)
NbLinesOfCode, NbLinesOfComment, PercentageComment, NbMethods, NbFields, Type level, Type rank, Afferent coupling at type level (TypeCa), Efferent coupling at type level (TypeCe), Lack of Cohesion Of Methods (LCOM), Lack of Cohesion Of Methods Henderson-Sellers (LCOM HS), Code Source Cyclomatic Complexity, Size of instance, Association Between Class (ABC) Number of Children (NOC), Depth of Inheritance Tree (DIT)
NbLinesOfCode, NbLinesOfComment, PercentageComment, Method level, Method rank, Afferent coupling at method level (MethodCa), Efferent coupling at method level (MethodCe), Code Source Cyclomatic Complexity, NbParameters, NbVariables, NbOverloads
Size of instance, Afferent coupling at field level (FieldCa)
Total Operators, Total Operands, Distinct Operators, Distinct Operands, Halstead Program Length, Halstead Program Volume, Halstead Program Level, Halstead Program Difficulty, Halstead Programming Effort, Halstead Programming Time, Halstead Intelligent Content