Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Axes of quality

Coding

Coding violationsissues: a PMD compliance index

Coding = (Blocker * 10 + Critical * 5 + Major * 3 + Minor + Info) / ValidLines

...

  • ValidLines = Lines of Code - Duplicated Lines
  • Blocker = number of PMD blocker violationsissues
  • Critical = number of PMD critical violationsissues
  • Major = number of PMD major violationsissues
  • Minor = number of PMD minor violationsissues
  • Info = number of PMD info violationsissues

Complexity

Complexity = (Complexity>30 * 10 + Complexity>20 * 5 + Complexity>10 * 3 + Complexity>1) / ValidLines

...

If there is no unit tests and thus no code coverage, the Coverage axis will get the worst grade.

Style

Style violationsissues: a Checkstyle compliance index

...

  • ValidLines = Lines of Code - Duplicated Lines
  • Errors = number of Checkstyle blocker violations issues+ number of Checkstyle critical violationsissues
  • Warnings = number of Checkstyle major violations issues+ number of Checkstyle minor violations issues+ number of Checkstyle info violationsissues

Quality Index

Quality Index = 10 - 4.5 * Coding - 2 * Complexity - 2 * Coverage - 1.5 * Style

...