From 9e9719e77e91546c00d9edbb1a399b872d6ec392 Mon Sep 17 00:00:00 2001 From: Sam Sendelbach Date: Tue, 19 Dec 2017 22:09:40 -0600 Subject: [PATCH 1/4] added (tentative) full golang support --- gitinspector/TMP_DELETE.py | 0 gitinspector/metrics.py | 8 ++++++-- 2 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 gitinspector/TMP_DELETE.py diff --git a/gitinspector/TMP_DELETE.py b/gitinspector/TMP_DELETE.py new file mode 100644 index 00000000..e69de29b diff --git a/gitinspector/metrics.py b/gitinspector/metrics.py index 6f90ef85..8cc3588b 100644 --- a/gitinspector/metrics.py +++ b/gitinspector/metrics.py @@ -24,7 +24,8 @@ from . import comment, filtering, interval __metric_eloc__ = {"java": 500, "c": 500, "cpp": 500, "cs": 500, "h": 300, "hpp": 300, "php": 500, "py": 500, "glsl": 1000, - "rb": 500, "js": 500, "sql": 1000, "xml": 1000} + "rb": 500, "js": 500, "sql": 1000, "xml": 1000, "go":500} + # added eloc -- must test at 500 before opening request __metric_cc_tokens__ = [[["java", "js", "c", "cc", "cpp"], ["else", r"for\s+\(.*\)", r"if\s+\(.*\)", r"case\s+\w+:", "default:", r"while\s+\(.*\)"], @@ -33,7 +34,10 @@ "default:", r"while\s+\(.*\)"], ["assert", "break", "continue", "return"]], [["py"], [r"^\s+elif .*:$", r"^\s+else:$", r"^\s+for .*:", r"^\s+if .*:$", r"^\s+while .*:$"], - [r"^\s+assert", "break", "continue", "return"]]] + [r"^\s+assert", "break", "continue", "return"]], + [["go"], ["else", r"for\s+.*\{", r"if\s+.*\{", r"case\s+\w+:", "default:", r"goto\s+\w"], + ["break", "continue", "return"]]] + # check ast.CommClause and range statements METRIC_CYCLOMATIC_COMPLEXITY_THRESHOLD = 50 METRIC_CYCLOMATIC_COMPLEXITY_DENSITY_THRESHOLD = 0.75 From 6b103a8e4c2bbb17221f344534feb64403888c96 Mon Sep 17 00:00:00 2001 From: Sam Sendelbach Date: Tue, 19 Dec 2017 22:09:59 -0600 Subject: [PATCH 2/4] added (tentative) full golang support --- gitinspector/TMP_DELETE.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 gitinspector/TMP_DELETE.py diff --git a/gitinspector/TMP_DELETE.py b/gitinspector/TMP_DELETE.py deleted file mode 100644 index e69de29b..00000000 From 2350c15b975ac074d6b383d3d30692b0cb44da4c Mon Sep 17 00:00:00 2001 From: Sam Sendelbach Date: Tue, 19 Dec 2017 22:19:49 -0600 Subject: [PATCH 3/4] working eloc and cyclometric (cc needs futher work) --- gitinspector/extensions.py | 2 +- gitinspector/metrics.py | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/gitinspector/extensions.py b/gitinspector/extensions.py index 37647358..270140b0 100644 --- a/gitinspector/extensions.py +++ b/gitinspector/extensions.py @@ -19,7 +19,7 @@ from __future__ import unicode_literals -DEFAULT_EXTENSIONS = ["java", "c", "cc", "cpp", "h", "hh", "hpp", "py", "glsl", "rb", "js", "sql"] +DEFAULT_EXTENSIONS = ["java", "c", "cc", "cpp", "h", "hh", "hpp", "py", "glsl", "rb", "js", "sql", "go"] __extensions__ = DEFAULT_EXTENSIONS __located_extensions__ = set() diff --git a/gitinspector/metrics.py b/gitinspector/metrics.py index 8cc3588b..aab03a67 100644 --- a/gitinspector/metrics.py +++ b/gitinspector/metrics.py @@ -25,7 +25,6 @@ __metric_eloc__ = {"java": 500, "c": 500, "cpp": 500, "cs": 500, "h": 300, "hpp": 300, "php": 500, "py": 500, "glsl": 1000, "rb": 500, "js": 500, "sql": 1000, "xml": 1000, "go":500} - # added eloc -- must test at 500 before opening request __metric_cc_tokens__ = [[["java", "js", "c", "cc", "cpp"], ["else", r"for\s+\(.*\)", r"if\s+\(.*\)", r"case\s+\w+:", "default:", r"while\s+\(.*\)"], From cd4ca317e728e81e5fa7e9912bc319c6a77dab39 Mon Sep 17 00:00:00 2001 From: Sam Sendelbach Date: Wed, 20 Dec 2017 14:20:29 -0600 Subject: [PATCH 4/4] Full golang supportf (tested) --- gitinspector/metrics.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gitinspector/metrics.py b/gitinspector/metrics.py index aab03a67..71506161 100644 --- a/gitinspector/metrics.py +++ b/gitinspector/metrics.py @@ -34,9 +34,8 @@ ["assert", "break", "continue", "return"]], [["py"], [r"^\s+elif .*:$", r"^\s+else:$", r"^\s+for .*:", r"^\s+if .*:$", r"^\s+while .*:$"], [r"^\s+assert", "break", "continue", "return"]], - [["go"], ["else", r"for\s+.*\{", r"if\s+.*\{", r"case\s+\w+:", "default:", r"goto\s+\w"], - ["break", "continue", "return"]]] - # check ast.CommClause and range statements + [["go"], ["else", "range" "defer", r"for\s+.*\{", r"if\s+.*\{", r"case\s+\w+:", "default:", r"goto\s+\w"], + ["break", "continue", "return", "quit"]]] METRIC_CYCLOMATIC_COMPLEXITY_THRESHOLD = 50 METRIC_CYCLOMATIC_COMPLEXITY_DENSITY_THRESHOLD = 0.75