17
17
package main
18
18
19
19
import (
20
- "errors"
21
20
"flag"
22
21
"fmt"
23
22
"go/parser"
@@ -47,16 +46,15 @@ The output fields for each line are:
47
46
<complexity> <package> <function> <file:row:column>
48
47
`
49
48
50
- func usage () {
51
- _ , _ = fmt . Fprint ( os . Stderr , usageDoc )
52
- os . Exit ( 2 )
53
- }
49
+ const (
50
+ defaultOverFlagVal = - 1
51
+ defaultTopFlagVal = 0
52
+ )
54
53
55
54
const (
56
- defaultValueIndicator = - 1
57
- textFormat = "text"
58
- jsonFormat = "json"
59
- jsonPrettyFormat = "json-pretty"
55
+ textFormat = "text"
56
+ jsonFormat = "json"
57
+ jsonPrettyFormat = "json-pretty"
60
58
)
61
59
62
60
var errFormatNotDefined = fmt .Errorf ("format is not valid, use a supported format %v" , supportedFormats )
66
64
textFormat , jsonFormat , jsonPrettyFormat ,
67
65
}
68
66
69
- over = flag .Int ("over" , defaultValueIndicator , "show functions with complexity > N only" )
70
- top = flag .Int ("top" , defaultValueIndicator , "show the top N most complex functions only" )
67
+ over = flag .Int ("over" , defaultOverFlagVal , "show functions with complexity > N only" )
68
+ top = flag .Int ("top" , defaultTopFlagVal , "show the top N most complex functions only" )
71
69
avg = flag .Bool ("avg" , false , "show the average complexity" )
72
70
format = flag .String ("format" , textFormat , fmt .Sprintf ("which format to use, supported formats: %v" , supportedFormats ))
73
71
)
@@ -174,16 +172,14 @@ func analyzeDir(dirname string, stats []gocognit.Stat) ([]gocognit.Stat, error)
174
172
return stats , nil
175
173
}
176
174
177
- var errFormatNotDefined = errors .New (fmt .Sprintf ("Format is not valid, use a supported format %v" , supportedFormats ))
178
-
179
175
func writeStats (w io.Writer , sortedStats []gocognit.Stat ) (int , error ) {
180
176
filter := gocognit.Filter {}
181
- if * top != defaultValueIndicator {
177
+ if * top != 0 {
182
178
// top filter
183
179
filter .AddFilter (gocognit .NewTopFilter (* top ))
184
180
}
185
181
186
- if * over != defaultValueIndicator {
182
+ if * over != - 1 {
187
183
// over filter
188
184
filter .AddFilter (gocognit .NewComplexityFilter (* over ))
189
185
}
@@ -193,13 +189,10 @@ func writeStats(w io.Writer, sortedStats []gocognit.Stat) (int, error) {
193
189
switch * format {
194
190
case textFormat :
195
191
formatter = gocognit .NewTextFormatter (w )
196
- break
197
192
case jsonFormat :
198
193
formatter = gocognit .NewJsonFormatter (w , false )
199
- break
200
194
case jsonPrettyFormat :
201
195
formatter = gocognit .NewJsonFormatter (w , true )
202
- break
203
196
default :
204
197
return 0 , errFormatNotDefined
205
198
}
0 commit comments