[GRASS-QA] GRASS QA: jachym | ./grass6/lib/gis/parser.c |1 clones ( parser.c )| 2 monsters | 4 warnings

grass-qa at proxy.soccerlab.polymtl.ca grass-qa at proxy.soccerlab.polymtl.ca
Sat Sep 23 15:06:23 EDT 2006



Hello jachym,

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: 200 Ends at: 216)
--------------+---------+-------+---------+
Complexity:   |       1 |       |      OK |
ParamNBR:     |       1 |       |      OK |
CalledNBR:    |       0 |       |      OK |
LOC:          |      17 |       |      OK |
--------------+---------+-------+---------+
metrics are OK

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

G_define_option (Begins at: 270 Ends at: 340)
--------------+---------+-------+---------+
Complexity:   |       3 |       |      OK |
ParamNBR:     |       1 |       |      OK |
CalledNBR:    |       4 |       |      OK |
LOC:          |      71 |       |      OK |
--------------+---------+-------+---------+
metrics are OK

G_define_standard_option (Begins at: 343 Ends at: 520)
--------------+---------+-------+---------+
Complexity:   |      22 |     * |         |
ParamNBR:     |       1 |       |      OK |
CalledNBR:    |      22 |       |      OK |
LOC:          |     178 |     * |         |
--------------+---------+-------+---------+
metrics are OK

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

G_parser (Begins at: 559 Ends at: 820)
--------------+---------+-------+---------+
Complexity:   |      36 |   *** | MONSTER |
ParamNBR:     |       2 |       |      OK |
CalledNBR:    |      70 |    ** | Warning |
LOC:          |     262 |   *** | MONSTER |
--------------+---------+-------+---------+
1 metric are OUT OF RANGE!

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

G_usage (Begins at: 870 Ends at: 1044)
--------------+---------+-------+---------+
Complexity:   |      32 |    ** | Warning |
ParamNBR:     |       1 |       |      OK |
CalledNBR:    |      53 |     * |         |
LOC:          |     175 |     * |         |
--------------+---------+-------+---------+
at least 1 values are close to an outlier please consider revising code

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

G_usage_xml (Begins at: 1064 Ends at: 1268)
--------------+---------+-------+---------+
Complexity:   |      26 |    ** | Warning |
ParamNBR:     |       1 |       |      OK |
CalledNBR:    |      65 |    ** | Warning |
LOC:          |     205 |    ** | Warning |
--------------+---------+-------+---------+
at least 3 values are close to an outlier please consider revising code

G_usage_html (Begins at: 1270 Ends at: 1501)
--------------+---------+-------+---------+
Complexity:   |      41 |   *** | MONSTER |
ParamNBR:     |       1 |       |      OK |
CalledNBR:    |      80 |   *** | MONSTER |
LOC:          |     232 |    ** | Warning |
--------------+---------+-------+---------+
1 metric are OUT OF RANGE!

generate_tcl (Begins at: 1503 Ends at: 1575)
--------------+---------+-------+---------+
Complexity:   |       9 |       |      OK |
ParamNBR:     |       1 |       |      OK |
CalledNBR:    |      25 |       |      OK |
LOC:          |      73 |       |      OK |
--------------+---------+-------+---------+
metrics are OK

G_gui (Begins at: 1578 Ends at: 1607)
--------------+---------+-------+---------+
Complexity:   |       5 |       |      OK |
ParamNBR:     |       1 |       |      OK |
CalledNBR:    |       8 |       |      OK |
LOC:          |      30 |       |      OK |
--------------+---------+-------+---------+
metrics are OK

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

G_recreate_command (Begins at: 2400 Ends at: 2502)
--------------+---------+-------+---------+
Complexity:   |      13 |       |      OK |
ParamNBR:     |       1 |       |      OK |
CalledNBR:    |      25 |       |      OK |
LOC:          |     103 |       |      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-09-23 are:
---------------------------+-----------+---------+
                    median | upper     | outlier |
                           | quartile  | limit   |
---------------------------+-----------+---------+
Complexity (Cyclo):      5 |        25 |      36 |
ParamNBR:                2 |         6 |       8 |
CalledNBR:               9 |        55 |      80 |
LOC:                    39 |       179 |     252 |
---------------------------+-----------+---------+

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