[GRASS-QA] SOCCER LAB GRASS QA: 1 clones ( parser.c ) 1 monsters and 7 warnings

cvs at proxy.soccerlab.polymtl.ca cvs at proxy.soccerlab.polymtl.ca
Sat May 13 18:01:46 EDT 2006


Hello cedric,

here a report on your recent GRASS-CVS change:

ANALYSIS

your changes to files/functions:


lib/gis/parser.c functions


G_disable_interactive (Begins at: 183 Ends at: 199)
--------------+---------+-------+---------+
Complexity:   |       1 |       |      OK |
ParamNBR:     |       1 |       |      OK |
CalledNBR:    |       0 |       |      OK |
LOC:          |      17 |       |      OK |
--------------+---------+-------+---------+
metrics are OK

G_define_flag (Begins at: 202 Ends at: 250)
--------------+---------+-------+---------+
Complexity:   |       3 |       |      OK |
ParamNBR:     |       1 |       |      OK |
CalledNBR:    |       4 |       |      OK |
LOC:          |      49 |       |      OK |
--------------+---------+-------+---------+
metrics are OK

G_define_option (Begins at: 253 Ends at: 306)
--------------+---------+-------+---------+
Complexity:   |       3 |       |      OK |
ParamNBR:     |       1 |       |      OK |
CalledNBR:    |       4 |       |      OK |
LOC:          |      54 |       |      OK |
--------------+---------+-------+---------+
metrics are OK

G_define_standard_option (Begins at: 309 Ends at: 431)
--------------+---------+-------+---------+
Complexity:   |      16 |     * |         |
ParamNBR:     |       1 |       |      OK |
CalledNBR:    |      16 |       |      OK |
LOC:          |     123 |     * |         |
--------------+---------+-------+---------+
metrics are OK

G_define_module (Begins at: 434 Ends at: 468)
--------------+---------+-------+---------+
Complexity:   |       1 |       |      OK |
ParamNBR:     |       1 |       |      OK |
CalledNBR:    |       1 |       |      OK |
LOC:          |      35 |       |      OK |
--------------+---------+-------+---------+
metrics are OK

G_parser (Begins at: 470 Ends at: 705)
--------------+---------+-------+---------+
Complexity:   |      34 |    ** | Warning |
ParamNBR:     |       2 |       |      OK |
CalledNBR:    |      56 |    ** | Warning |
LOC:          |     236 |    ** | Warning |
--------------+---------+-------+---------+
at least 3 values are close to an outlier please consider revising code

uses_new_gisprompt (Begins at: 708 Ends at: 753)
--------------+---------+-------+---------+
Complexity:   |       5 |       |      OK |
ParamNBR:     |       1 |       |      OK |
CalledNBR:    |       2 |       |      OK |
LOC:          |      46 |       |      OK |
--------------+---------+-------+---------+
metrics are OK

G_usage (Begins at: 755 Ends at: 915)
--------------+---------+-------+---------+
Complexity:   |      31 |    ** | Warning |
ParamNBR:     |       1 |       |      OK |
CalledNBR:    |      42 |     * |         |
LOC:          |     161 |     * |         |
--------------+---------+-------+---------+
at least 1 values are close to an outlier please consider revising code

print_escaped_for_xml (Begins at: 917 Ends at: 933)
--------------+---------+-------+---------+
Complexity:   |       6 |       |      OK |
ParamNBR:     |       2 |       |      OK |
CalledNBR:    |       4 |       |      OK |
LOC:          |      17 |       |      OK |
--------------+---------+-------+---------+
metrics are OK

G_usage_xml (Begins at: 935 Ends at: 1133)
--------------+---------+-------+---------+
Complexity:   |      25 |     * |         |
ParamNBR:     |       1 |       |      OK |
CalledNBR:    |      62 |    ** | Warning |
LOC:          |     199 |    ** | Warning |
--------------+---------+-------+---------+
at least 3 values are close to an outlier please consider revising code

G_usage_html (Begins at: 1135 Ends at: 1352)
--------------+---------+-------+---------+
Complexity:   |      40 |   *** | MONSTER |
ParamNBR:     |       1 |       |      OK |
CalledNBR:    |      71 |    ** | Warning |
LOC:          |     218 |    ** | Warning |
--------------+---------+-------+---------+
1 metric are OUT OF RANGE!

generate_tcl (Begins at: 1354 Ends at: 1425)
--------------+---------+-------+---------+
Complexity:   |       9 |       |      OK |
ParamNBR:     |       1 |       |      OK |
CalledNBR:    |      24 |       |      OK |
LOC:          |      72 |       |      OK |
--------------+---------+-------+---------+
metrics are OK

G_gui (Begins at: 1428 Ends at: 1450)
--------------+---------+-------+---------+
Complexity:   |       5 |       |      OK |
ParamNBR:     |       1 |       |      OK |
CalledNBR:    |       8 |       |      OK |
LOC:          |      23 |       |      OK |
--------------+---------+-------+---------+
metrics are OK

G_tcltk (Begins at: 1453 Ends at: 1468)
--------------+---------+-------+---------+
Complexity:   |       3 |       |      OK |
ParamNBR:     |       1 |       |      OK |
CalledNBR:    |       2 |       |      OK |
LOC:          |      16 |       |      OK |
--------------+---------+-------+---------+
metrics are OK

show_options (Begins at: 1470 Ends at: 1499)
--------------+---------+-------+---------+
Complexity:   |       4 |       |      OK |
ParamNBR:     |       2 |       |      OK |
CalledNBR:    |      10 |       |      OK |
LOC:          |      30 |       |      OK |
--------------+---------+-------+---------+
metrics are OK

show (Begins at: 1501 Ends at: 1514)
--------------+---------+-------+---------+
Complexity:   |       3 |       |      OK |
ParamNBR:     |       2 |       |      OK |
CalledNBR:    |       3 |       |      OK |
LOC:          |      14 |       |      OK |
--------------+---------+-------+---------+
metrics are OK

set_flag (Begins at: 1516 Ends at: 1543)
--------------+---------+-------+---------+
Complexity:   |       4 |       |      OK |
ParamNBR:     |       1 |       |      OK |
CalledNBR:    |       4 |       |      OK |
LOC:          |      28 |       |      OK |
--------------+---------+-------+---------+
metrics are OK

contains (Begins at: 1548 Ends at: 1557)
--------------+---------+-------+---------+
Complexity:   |       3 |       |      OK |
ParamNBR:     |       2 |       |      OK |
CalledNBR:    |       0 |       |      OK |
LOC:          |      10 |       |      OK |
--------------+---------+-------+---------+
metrics are OK

set_option (Begins at: 1559 Ends at: 1619)
--------------+---------+-------+---------+
Complexity:   |       6 |       |      OK |
ParamNBR:     |       1 |       |      OK |
CalledNBR:    |      13 |       |      OK |
LOC:          |      61 |       |      OK |
--------------+---------+-------+---------+
metrics are OK

check_opts (Begins at: 1621 Ends at: 1658)
--------------+---------+-------+---------+
Complexity:   |       6 |       |      OK |
ParamNBR:     |       1 |       |      OK |
CalledNBR:    |       3 |       |      OK |
LOC:          |      38 |       |      OK |
--------------+---------+-------+---------+
metrics are OK

check_an_opt (Begins at: 1660 Ends at: 1702)
--------------+---------+-------+---------+
Complexity:   |      10 |       |      OK |
ParamNBR:     |       4 |       |      OK |
CalledNBR:    |      13 |       |      OK |
LOC:          |      43 |       |      OK |
--------------+---------+-------+---------+
metrics are OK

check_int (Begins at: 1704 Ends at: 1770)
--------------+---------+-------+---------+
Complexity:   |      13 |       |      OK |
ParamNBR:     |       2 |       |      OK |
CalledNBR:    |       6 |       |      OK |
LOC:          |      67 |       |      OK |
--------------+---------+-------+---------+
metrics are OK

check_double (Begins at: 1772 Ends at: 1812)
--------------+---------+-------+---------+
Complexity:   |      13 |       |      OK |
ParamNBR:     |       2 |       |      OK |
CalledNBR:    |       6 |       |      OK |
LOC:          |      41 |       |      OK |
--------------+---------+-------+---------+
metrics are OK

check_string (Begins at: 1814 Ends at: 1841)
--------------+---------+-------+---------+
Complexity:   |       8 |       |      OK |
ParamNBR:     |       2 |       |      OK |
CalledNBR:    |       6 |       |      OK |
LOC:          |      28 |       |      OK |
--------------+---------+-------+---------+
metrics are OK

check_required (Begins at: 1843 Ends at: 1866)
--------------+---------+-------+---------+
Complexity:   |       4 |       |      OK |
ParamNBR:     |       1 |       |      OK |
CalledNBR:    |       2 |       |      OK |
LOC:          |      24 |       |      OK |
--------------+---------+-------+---------+
metrics are OK

split_opts (Begins at: 1868 Ends at: 1931)
--------------+---------+-------+---------+
Complexity:   |       8 |       |      OK |
ParamNBR:     |       1 |       |      OK |
CalledNBR:    |       4 |       |      OK |
LOC:          |      64 |       |      OK |
--------------+---------+-------+---------+
metrics are OK

check_multiple_opts (Begins at: 1933 Ends at: 1971)
--------------+---------+-------+---------+
Complexity:   |       6 |       |      OK |
ParamNBR:     |       1 |       |      OK |
CalledNBR:    |       5 |       |      OK |
LOC:          |      39 |       |      OK |
--------------+---------+-------+---------+
metrics are OK

check_overwrite (Begins at: 1974 Ends at: 2030)
--------------+---------+-------+---------+
Complexity:   |      11 |       |      OK |
ParamNBR:     |       1 |       |      OK |
CalledNBR:    |      11 |       |      OK |
LOC:          |      57 |       |      OK |
--------------+---------+-------+---------+
metrics are OK

interactive (Begins at: 2032 Ends at: 2060)
--------------+---------+-------+---------+
Complexity:   |       5 |       |      OK |
ParamNBR:     |       1 |       |      OK |
CalledNBR:    |       4 |       |      OK |
LOC:          |      29 |       |      OK |
--------------+---------+-------+---------+
metrics are OK

interactive_flag (Begins at: 2062 Ends at: 2070)
--------------+---------+-------+---------+
Complexity:   |       1 |       |      OK |
ParamNBR:     |       1 |       |      OK |
CalledNBR:    |       4 |       |      OK |
LOC:          |       9 |       |      OK |
--------------+---------+-------+---------+
metrics are OK

interactive_option (Begins at: 2072 Ends at: 2162)
--------------+---------+-------+---------+
Complexity:   |      23 |     * |         |
ParamNBR:     |       1 |       |      OK |
CalledNBR:    |      41 |     * |         |
LOC:          |      91 |       |      OK |
--------------+---------+-------+---------+
metrics are OK

split_gisprompt (Begins at: 2164 Ends at: 2194)
--------------+---------+-------+---------+
Complexity:   |       4 |       |      OK |
ParamNBR:     |       4 |       |      OK |
CalledNBR:    |       0 |       |      OK |
LOC:          |      31 |       |      OK |
--------------+---------+-------+---------+
metrics are OK

gis_prompt (Begins at: 2196 Ends at: 2241)
--------------+---------+-------+---------+
Complexity:   |      11 |       |      OK |
ParamNBR:     |       2 |       |      OK |
CalledNBR:    |      20 |       |      OK |
LOC:          |      46 |       |      OK |
--------------+---------+-------+---------+
metrics are OK

G_recreate_command (Begins at: 2243 Ends at: 2343)
--------------+---------+-------+---------+
Complexity:   |      13 |       |      OK |
ParamNBR:     |       1 |       |      OK |
CalledNBR:    |      25 |       |      OK |
LOC:          |     101 |       |      OK |
--------------+---------+-------+---------+
metrics are OK

Clone analysis:

This file has 1 potentially cloned functions:
  interactive_flag

In lib/gis/parser.c clones of  interactive_flag are:
	lib/gis/rm_colr.c  G_remove_colr


__________________________________________

Threshold GRASS6 key metrics values at 2006-05-13 are:
---------------------------+-----------+---------+
                    median | upper     | outlier |
                           | quartile  | limit   |
---------------------------+-----------+---------+
Complexity (Cyclo):      5 |        25 |      36 |
ParamNBR:                2 |         6 |       8 |
CalledNBR:               9 |        55 |      79 |
LOC:                    40 |       180 |     253 |
---------------------------+-----------+---------+

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

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


__________________________________________
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