Uploaded image for project: 'SonarQube'
  1. SonarQube
  2. SONAR-94

OO Design Quality Metrics as specified by Robert C. Martin

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Metrics
    • Labels:
      None

      Description

      Robert Martin has written a paper specifying what could be good OO design quality metrics.

      Implementation of JDepend is based on this paper but a visual representation could be higly more usefull to undertand and interpret metrics. Read the end of Robert's paper to understand how true is it or take a look to the attached image :

      • Each circle represents a java package
      • Circle can have three different colors : green (D is near 0), yellow (D is around 0,2), red (D is around 0,5)
      • Size of circle is proportional to its package size

      The mean of "Distance" metrics could be a good way to compare projects. Projects with a Distance near than 0 are better than projects with a greater Distance (Could be used as a new metric to colorize the treemap).

        Issue Links

          Activity

          Hide
          freddy.mallet Freddy Mallet added a comment -

          The following pages give very good definitions of OO metrics

          Show
          freddy.mallet Freddy Mallet added a comment - The following pages give very good definitions of OO metrics
          Hide
          eescobar Emilio Escobar Reyero added a comment -

          Hi all, Isotrol MetricsAnalytics plugin (http://docs.codehaus.org/display/SONAR/Isotrol+MetricsAnalytics) integrates JDepend now. What does we have to do in order to solve this issue (SONAR-94)?

          Emilio Escobar
          Nicolas Bertet

          Show
          eescobar Emilio Escobar Reyero added a comment - Hi all, Isotrol MetricsAnalytics plugin ( http://docs.codehaus.org/display/SONAR/Isotrol+MetricsAnalytics ) integrates JDepend now. What does we have to do in order to solve this issue ( SONAR-94 )? Emilio Escobar Nicolas Bertet
          Hide
          simon.brandhof Simon Brandhof added a comment -

          Removed from Sonar 2.0, afferent couplings do not include calls from external dependencies, so the metric instability is not exact. JDepend has the same limitation.

          Show
          simon.brandhof Simon Brandhof added a comment - Removed from Sonar 2.0, afferent couplings do not include calls from external dependencies, so the metric instability is not exact. JDepend has the same limitation.
          Hide
          freddy.mallet Freddy Mallet added a comment -

          See the following thread of discussions of understand why this ticket hasn't been fixed : http://markmail.org/message/jmxluicsvu4xhhka

          Show
          freddy.mallet Freddy Mallet added a comment - See the following thread of discussions of understand why this ticket hasn't been fixed : http://markmail.org/message/jmxluicsvu4xhhka
          Hide
          fabrice.bellingard Fabrice Bellingard added a comment -

          Years have passed since creation of this ticket, and until now, those OO design metrics have not proven to be useful in SonarQube to efficiently materialise maintainability issues. So I'm closing this ticket.

          Show
          fabrice.bellingard Fabrice Bellingard added a comment - Years have passed since creation of this ticket, and until now, those OO design metrics have not proven to be useful in SonarQube to efficiently materialise maintainability issues. So I'm closing this ticket.

            People

            • Assignee:
              Unassigned
              Reporter:
              freddy.mallet Freddy Mallet
            • Votes:
              26 Vote for this issue
              Watchers:
              17 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: