[GRASS-QA] GRASS QA: glynn |bnw_line.c DrawText.c DumpProfile.c ExtractProf.c ...| 6 clones | 0 monsters |0 warnings

soccerlab.info at gmail.com soccerlab.info at gmail.com
Fri Sep 5 11:25:04 EDT 2008


Hello glynn,

here's a report on your recent GRASS-SVN change : 

ANALYSIS 

your changes to files/class/methods/functions : 

*****************************************************************
          File :grass/trunk/display/d.profile/bnw_line.c
*****************************************************************

          Function
black_and_white_line(Begins at: 5, Ends at:24)
--------------+---------+-------+--------------+-----------+
              |          New Metrics           |Old Metrics|
--------------+---------+-------+--------------+-----------+
Complexity:   |       2 |       |           OK |         2 |
ParamNBR:     |       4 |     * |      WARNING |         4 |
CalledNBR:    |      13 |     * |      WARNING |        13 |
LOC:          |      20 |       |           OK |        20 |
--------------+---------+-------+--------------+-----------+
Conclusion:   | this function is a       WARNING           |
-----------------------------------------------------------+
metrics are OK


Clone analysis:
This file has 1 potentially cloned functions:


In /var/project-manager/grass/grassSVN/grass/trunk/display/d.profile/bnw_line.c clones of black_and_white_line are:
          /var/project-manager/grass/grassSVN/grass/branches/develbranch_6/display/d.profile/bnw_line.c  black_and_white_line

*****************************************************************
          File :grass/trunk/display/d.profile/DrawText.c
*****************************************************************

          Function
DrawText(Begins at: 34, Ends at:54)
--------------+---------+-------+--------------+-----------+
              |          New Metrics           |Old Metrics|
--------------+---------+-------+--------------+-----------+
Complexity:   |       1 |       |           OK |         1 |
ParamNBR:     |       4 |     * |      WARNING |         4 |
CalledNBR:    |       4 |       |           OK |         4 |
LOC:          |      21 |       |           OK |        21 |
--------------+---------+-------+--------------+-----------+
Conclusion:   | this function is a       WARNING           |
-----------------------------------------------------------+
metrics are OK


Clone analysis:
This file does not contain cloned functions

*****************************************************************
          File :grass/trunk/display/d.profile/DumpProfile.c
*****************************************************************

          Function
WriteProfile(Begins at: 12, Ends at:73)
--------------+---------+-------+--------------+-----------+
              |          New Metrics           |Old Metrics|
--------------+---------+-------+--------------+-----------+
Complexity:   |       5 |     * |      WARNING |         5 |
ParamNBR:     |       5 |     * |      WARNING |         5 |
CalledNBR:    |      30 |       |           OK |        30 |
LOC:          |      62 |       |           OK |        62 |
--------------+---------+-------+--------------+-----------+
Conclusion:   | this function is a       WARNING           |
-----------------------------------------------------------+
metrics are OK


_fmt_ucat(Begins at: 81, Ends at:108)
--------------+---------+-------+--------------+-----------+
              |          New Metrics           |Old Metrics|
--------------+---------+-------+--------------+-----------+
Complexity:   |       9 |       |           OK |         9 |
ParamNBR:     |       3 |     * |      WARNING |         3 |
CalledNBR:    |       7 |    ** | BABY-MONSTER |         7 |
LOC:          |      28 |     * |      WARNING |        28 |
--------------+---------+-------+--------------+-----------+
Conclusion:   | this function is a  BABY-MONSTER           |
-----------------------------------------------------------+
metrics are OK


Clone analysis:
This file does not contain cloned functions

*****************************************************************
          File :grass/trunk/display/d.profile/ExtractProf.c
*****************************************************************

          Function
ExtractProfile(Begins at: 47, Ends at:312)
--------------+---------+-------+--------------+-----------+
              |          New Metrics           |Old Metrics|
--------------+---------+-------+--------------+-----------+
Complexity:   |      35 |   *** |      MONSTER |        35 |
ParamNBR:     |       3 |     * |      WARNING |         3 |
CalledNBR:    |      42 |   *** |      MONSTER |        42 |
LOC:          |     266 |   *** |      MONSTER |       266 |
--------------+---------+-------+--------------+-----------+
Conclusion:   | this function is a       MONSTER           |
-----------------------------------------------------------+
metrics are OK


ucat_max(Begins at: 314, Ends at:336)
--------------+---------+-------+--------------+-----------+
              |          New Metrics           |Old Metrics|
--------------+---------+-------+--------------+-----------+
Complexity:   |      11 |     * |      WARNING |        11 |
ParamNBR:     |       2 |       |           OK |         2 |
CalledNBR:    |       0 |       |           OK |         0 |
LOC:          |      23 |       |           OK |        23 |
--------------+---------+-------+--------------+-----------+
Conclusion:   | this function is a       WARNING           |
-----------------------------------------------------------+
metrics are OK


ucat_min(Begins at: 339, Ends at:355)
--------------+---------+-------+--------------+-----------+
              |          New Metrics           |Old Metrics|
--------------+---------+-------+--------------+-----------+
Complexity:   |       8 |     * |      WARNING |         8 |
ParamNBR:     |       2 |       |           OK |         2 |
CalledNBR:    |       0 |       |           OK |         0 |
LOC:          |      17 |       |           OK |        17 |
--------------+---------+-------+--------------+-----------+
Conclusion:   | this function is a       WARNING           |
-----------------------------------------------------------+
metrics are OK


Clone analysis:
This file does not contain cloned functions

*****************************************************************
          File :grass/trunk/display/d.profile/InitProfile.c
*****************************************************************

          Function
InitProfile(Begins at: 33, Ends at:51)
--------------+---------+-------+--------------+-----------+
              |          New Metrics           |Old Metrics|
--------------+---------+-------+--------------+-----------+
Complexity:   |       1 |       |           OK |         1 |
ParamNBR:     |       6 |    ** | BABY-MONSTER |         6 |
CalledNBR:    |       0 |       |           OK |         0 |
LOC:          |      19 |       |           OK |        19 |
--------------+---------+-------+--------------+-----------+
Conclusion:   | this function is a  BABY-MONSTER           |
-----------------------------------------------------------+
metrics are OK


Clone analysis:
This file does not contain cloned functions

*****************************************************************
          File :grass/trunk/display/d.profile/main.c
*****************************************************************

          Function
main(Begins at: 51, Ends at:425)
--------------+---------+-------+--------------+-----------+
              |          New Metrics           |Old Metrics|
--------------+---------+-------+--------------+-----------+
Complexity:   |      36 |   *** |      MONSTER |        36 |
ParamNBR:     |       2 |       |           OK |         2 |
CalledNBR:    |     176 |   *** |      MONSTER |       176 |
LOC:          |     375 |   *** |      MONSTER |       375 |
--------------+---------+-------+--------------+-----------+
Conclusion:   | this function is a       MONSTER           |
-----------------------------------------------------------+
metrics are OK


myDcell(Begins at: 427, Ends at:467)
--------------+---------+-------+--------------+-----------+
              |          New Metrics           |Old Metrics|
--------------+---------+-------+--------------+-----------+
Complexity:   |       6 |     * |      WARNING |         6 |
ParamNBR:     |       3 |     * |      WARNING |         3 |
CalledNBR:    |      20 |     * |      WARNING |        20 |
LOC:          |      41 |       |           OK |        41 |
--------------+---------+-------+--------------+-----------+
Conclusion:   | this function is a       WARNING           |
-----------------------------------------------------------+
metrics are OK


Clone analysis:
This file has 2 potentially cloned functions:
  myDcell

In /var/project-manager/grass/grassSVN/grass/trunk/display/d.profile/main.c clones of main are:
          /var/project-manager/grass/grassSVN/grass/branches/develbranch_6/display/d.profile/main.c  main

In /var/project-manager/grass/grassSVN/grass/trunk/display/d.profile/main.c clones of myDcell are:
          /var/project-manager/grass/grassSVN/grass/branches/develbranch_6/display/d.profile/main.c  myDcell

*****************************************************************
          File :grass/trunk/display/d.profile/PlotProfile.c
*****************************************************************

          Function
PlotProfile(Begins at: 44, Ends at:140)
--------------+---------+-------+--------------+-----------+
              |          New Metrics           |Old Metrics|
--------------+---------+-------+--------------+-----------+
Complexity:   |       5 |       |           OK |         5 |
ParamNBR:     |       4 |     * |      WARNING |         4 |
CalledNBR:    |      28 |    ** | BABY-MONSTER |        28 |
LOC:          |      97 |    ** | BABY-MONSTER |        97 |
--------------+---------+-------+--------------+-----------+
Conclusion:   | this function is a  BABY-MONSTER           |
-----------------------------------------------------------+
metrics are OK


_get_cat(Begins at: 143, Ends at:164)
--------------+---------+-------+--------------+-----------+
              |          New Metrics           |Old Metrics|
--------------+---------+-------+--------------+-----------+
Complexity:   |       9 |     * |      WARNING |         9 |
ParamNBR:     |       2 |       |           OK |         2 |
CalledNBR:    |       0 |       |           OK |         0 |
LOC:          |      22 |       |           OK |        22 |
--------------+---------+-------+--------------+-----------+
Conclusion:   | this function is a       WARNING           |
-----------------------------------------------------------+
metrics are OK


Clone analysis:
This file has 2 potentially cloned functions:
  _get_cat

In /var/project-manager/grass/grassSVN/grass/trunk/display/d.profile/PlotProfile.c clones of PlotProfile are:
          /var/project-manager/grass/grassSVN/grass/branches/develbranch_6/display/d.profile/PlotProfile.c  PlotProfile

In /var/project-manager/grass/grassSVN/grass/trunk/display/d.profile/PlotProfile.c clones of _get_cat are:
          /var/project-manager/grass/grassSVN/grass/branches/develbranch_6/display/d.profile/PlotProfile.c  _get_cat

*****************************************************************
          File :grass/trunk/display/d.profile/profile.h
*****************************************************************

          Class
Profile(Begins at: 42, Ends at:49)
             +--------+--------+--------+--------+--------+--------+
             |    DIT |    NOC |    WMC |    RFC |    CBO |   LCOM |
+------------+--------+--------+--------+--------+--------+--------|
|NEW Metrics |      1 |      0 |      0 |      0 |      0 |      0 |
+------------+--------+--------+--------+--------+--------+--------|
|OLD Metrics |      1 |      0 |      0 |      0 |      0 |      0 |
+------------+--------+--------+--------+--------+--------+--------+



          Class
ProfileNode(Begins at: 35, Ends at:40)
             +--------+--------+--------+--------+--------+--------+
             |    DIT |    NOC |    WMC |    RFC |    CBO |   LCOM |
+------------+--------+--------+--------+--------+--------+--------|
|NEW Metrics |      1 |      0 |      0 |      0 |      0 |      0 |
+------------+--------+--------+--------+--------+--------+--------|
|OLD Metrics |      1 |      0 |      0 |      0 |      0 |      0 |
+------------+--------+--------+--------+--------+--------+--------+



          Class
windows(Begins at: 29, Ends at:33)
             +--------+--------+--------+--------+--------+--------+
             |    DIT |    NOC |    WMC |    RFC |    CBO |   LCOM |
+------------+--------+--------+--------+--------+--------+--------|
|NEW Metrics |      1 |      0 |      0 |      0 |      0 |      0 |
+------------+--------+--------+--------+--------+--------+--------|
|OLD Metrics |      1 |      0 |      0 |      0 |      0 |      0 |
+------------+--------+--------+--------+--------+--------+--------+



Clone analysis:
This file does not contain cloned functions

*****************************************************************
          File :grass/trunk/display/d.profile/Range.c
*****************************************************************

          Function
quick_range(Begins at: 51, Ends at:75)
--------------+---------+-------+--------------+-----------+
              |          New Metrics           |Old Metrics|
--------------+---------+-------+--------------+-----------+
Complexity:   |       6 |     * |      WARNING |         6 |
ParamNBR:     |       4 |     * |      WARNING |         4 |
CalledNBR:    |       5 |       |           OK |         5 |
LOC:          |      25 |       |           OK |        25 |
--------------+---------+-------+--------------+-----------+
Conclusion:   | this function is a       WARNING           |
-----------------------------------------------------------+
metrics are OK


slow_range(Begins at: 77, Ends at:109)
--------------+---------+-------+--------------+-----------+
              |          New Metrics           |Old Metrics|
--------------+---------+-------+--------------+-----------+
Complexity:   |       7 |     * |      WARNING |         7 |
ParamNBR:     |       4 |     * |      WARNING |         4 |
CalledNBR:    |       8 |       |           OK |         8 |
LOC:          |      33 |       |           OK |        33 |
--------------+---------+-------+--------------+-----------+
Conclusion:   | this function is a       WARNING           |
-----------------------------------------------------------+
metrics are OK


WindowRange(Begins at: 6, Ends at:49)
--------------+---------+-------+--------------+-----------+
              |          New Metrics           |Old Metrics|
--------------+---------+-------+--------------+-----------+
Complexity:   |       7 |     * |      WARNING |         7 |
ParamNBR:     |       4 |     * |      WARNING |         4 |
CalledNBR:    |       6 |       |           OK |         6 |
LOC:          |      44 |     * |      WARNING |        44 |
--------------+---------+-------+--------------+-----------+
Conclusion:   | this function is a       WARNING           |
-----------------------------------------------------------+
metrics are OK


Clone analysis:
This file does not contain cloned functions

*****************************************************************
          File :grass/trunk/display/d.profile/utils.c
*****************************************************************

          Function
is_null_value(Begins at: 5, Ends at:27)
--------------+---------+-------+--------------+-----------+
              |          New Metrics           |Old Metrics|
--------------+---------+-------+--------------+-----------+
Complexity:   |       8 |     * |      WARNING |         8 |
ParamNBR:     |       2 |       |           OK |         2 |
CalledNBR:    |      12 |     * |      WARNING |        12 |
LOC:          |      23 |       |           OK |        23 |
--------------+---------+-------+--------------+-----------+
Conclusion:   | this function is a       WARNING           |
-----------------------------------------------------------+
metrics are OK


Clone analysis:
This file does not contain cloned functions

*****************************************************************
          File :grass/trunk/display/d.profile/What.c
*****************************************************************

          Function
What(Begins at: 8, Ends at:52)
--------------+---------+-------+--------------+-----------+
              |          New Metrics           |Old Metrics|
--------------+---------+-------+--------------+-----------+
Complexity:   |       5 |       |           OK |         5 |
ParamNBR:     |       5 |     * |      WARNING |         5 |
CalledNBR:    |      28 |    ** | BABY-MONSTER |        28 |
LOC:          |      45 |     * |      WARNING |        45 |
--------------+---------+-------+--------------+-----------+
Conclusion:   | this function is a  BABY-MONSTER           |
-----------------------------------------------------------+
metrics are OK


Clone analysis:
This file has 1 potentially cloned functions:


In /var/project-manager/grass/grassSVN/grass/trunk/display/d.profile/What.c clones of What are:
          /var/project-manager/grass/grassSVN/grass/branches/develbranch_6/display/d.profile/What.c  What

____________________________________________


Threshold GRASS6 key metrics values at Fri Sep 05 11:30:26 EDT 2008 are:
----------------------+-----------+-----------+-----------+
                      | warning   | middle    | extrem    |
                      | limits    | limits    | limits    |
----------------------+-----------+-----------+-----------+
Complexity (Cyclo):   |         6 |        13 |        21 |
ParamNBR:             |         3 |         6 |         9 |
CalledNBR:            |        10 |        23 |        37 |
LOC:                  |        42 |        91 |       141 |
----------------------+-----------+-----------+-----------+



Measures (see below Web page for details) :
    -Complexity (Cyclo): a complexity index 
    -ParamNBR: number of passed parameters 
    -CalledNBR: number of called functions 
    -LOC: Lines Of Code 
    -Global analysis: based on 21 metrics(the fourth preceding include)

Message interpretation :
    OK : Nothing to say at all
    *  : this is getting close to be out of range, consider revising the code
    ** : this is a baby monster, you should revise this function
    ***: this is a monster, definitely you should revise this function

Conclusion interpretation :
    CORRECT     : if all metrics are situated before warning limits
    WARNING     : if 1 to more metrics are between warning and middle limits
    BABY_MONSTER: if 1 to more metrics are between middle and extreme limits
    MONSTERS    : if 1 to more metrics are in the extreme limits


_______________________________________________
Brought to you by :
    SOftware Cost-effective Change and Evolution Research (SOCCER) laboratory 
    http://web.soccerlab.polymtl.ca/grass-evolution/grass-browsers/grass-index-en.html 



More information about the grass-qa mailing list