Skip to content

Commit f6a3820

Browse files
authored
refactor: code cleanup (#1177)
1 parent 5c2aadf commit f6a3820

File tree

11 files changed

+59
-60
lines changed

11 files changed

+59
-60
lines changed

cli/main.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -132,11 +132,12 @@ func buildDefaultConfigPath() string {
132132
homeDirFile = filepath.Join(homeDir, configFileName)
133133
}
134134

135-
if fileExist(configDirFile) {
135+
switch {
136+
case fileExist(configDirFile):
136137
result = configDirFile
137-
} else if fileExist(homeDirFile) {
138+
case fileExist(homeDirFile):
138139
result = homeDirFile
139-
} else {
140+
default:
140141
result = ""
141142
}
142143

config/config.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -242,15 +242,15 @@ func GetConfig(configPath string) (*lint.Config, error) {
242242
// GetFormatter yields the formatter for lint failures
243243
func GetFormatter(formatterName string) (lint.Formatter, error) {
244244
formatters := getFormatters()
245-
fmtr := formatters["default"]
245+
result := formatters["default"]
246246
if formatterName != "" {
247247
f, ok := formatters[formatterName]
248248
if !ok {
249249
return nil, fmt.Errorf("unknown formatter %v", formatterName)
250250
}
251-
fmtr = f
251+
result = f
252252
}
253-
return fmtr, nil
253+
return result, nil
254254
}
255255

256256
func defaultConfig() *lint.Config {

formatter/friendly.go

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"fmt"
66
"io"
77
"sort"
8+
"strings"
89

910
"github.com/fatih/color"
1011
"github.com/mgechev/revive/lint"
@@ -32,45 +33,46 @@ func (*Friendly) Name() string {
3233

3334
// Format formats the failures gotten from the lint.
3435
func (f *Friendly) Format(failures <-chan lint.Failure, config lint.Config) (string, error) {
35-
var buf bytes.Buffer
36+
var buf strings.Builder
3637
errorMap := map[string]int{}
3738
warningMap := map[string]int{}
3839
totalErrors := 0
3940
totalWarnings := 0
4041
for failure := range failures {
4142
sev := severity(config, failure)
4243
f.printFriendlyFailure(&buf, failure, sev)
43-
if sev == lint.SeverityWarning {
44+
switch sev {
45+
case lint.SeverityWarning:
4446
warningMap[failure.RuleName]++
4547
totalWarnings++
46-
}
47-
if sev == lint.SeverityError {
48+
case lint.SeverityError:
4849
errorMap[failure.RuleName]++
4950
totalErrors++
5051
}
5152
}
53+
5254
f.printSummary(&buf, totalErrors, totalWarnings)
5355
f.printStatistics(&buf, color.RedString("Errors:"), errorMap)
5456
f.printStatistics(&buf, color.YellowString("Warnings:"), warningMap)
5557
return buf.String(), nil
5658
}
5759

58-
func (f *Friendly) printFriendlyFailure(w io.Writer, failure lint.Failure, severity lint.Severity) {
59-
f.printHeaderRow(w, failure, severity)
60-
f.printFilePosition(w, failure)
61-
fmt.Fprintf(w, "\n\n")
60+
func (f *Friendly) printFriendlyFailure(sb *strings.Builder, failure lint.Failure, severity lint.Severity) {
61+
f.printHeaderRow(sb, failure, severity)
62+
f.printFilePosition(sb, failure)
63+
sb.WriteString("\n\n")
6264
}
6365

64-
func (f *Friendly) printHeaderRow(w io.Writer, failure lint.Failure, severity lint.Severity) {
66+
func (f *Friendly) printHeaderRow(sb *strings.Builder, failure lint.Failure, severity lint.Severity) {
6567
emoji := getWarningEmoji()
6668
if severity == lint.SeverityError {
6769
emoji = getErrorEmoji()
6870
}
69-
fmt.Fprint(w, f.table([][]string{{emoji, ruleDescriptionURL(failure.RuleName), color.GreenString(failure.Failure)}}))
71+
sb.WriteString(f.table([][]string{{emoji, ruleDescriptionURL(failure.RuleName), color.GreenString(failure.Failure)}}))
7072
}
7173

72-
func (*Friendly) printFilePosition(w io.Writer, failure lint.Failure) {
73-
fmt.Fprintf(w, " %s:%d:%d", failure.GetFilename(), failure.Position.Start.Line, failure.Position.Start.Column)
74+
func (*Friendly) printFilePosition(sb *strings.Builder, failure lint.Failure) {
75+
sb.WriteString(fmt.Sprintf(" %s:%d:%d", failure.GetFilename(), failure.Position.Start.Line, failure.Position.Start.Column))
7476
}
7577

7678
type statEntry struct {

formatter/plain.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package formatter
22

33
import (
4-
"bytes"
54
"fmt"
5+
"strings"
66

77
"github.com/mgechev/revive/lint"
88
)
@@ -20,9 +20,9 @@ func (*Plain) Name() string {
2020

2121
// Format formats the failures gotten from the lint.
2222
func (*Plain) Format(failures <-chan lint.Failure, _ lint.Config) (string, error) {
23-
var buf bytes.Buffer
23+
var sb strings.Builder
2424
for failure := range failures {
25-
fmt.Fprintf(&buf, "%v: %s %s\n", failure.Position.Start, failure.Failure, ruleDescriptionURL(failure.RuleName))
25+
sb.WriteString(fmt.Sprintf("%v: %s %s\n", failure.Position.Start, failure.Failure, ruleDescriptionURL(failure.RuleName)))
2626
}
27-
return buf.String(), nil
27+
return sb.String(), nil
2828
}

formatter/stylish.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,11 +78,12 @@ func (*Stylish) Format(failures <-chan lint.Failure, config lint.Config) (string
7878

7979
suffix := fmt.Sprintf(" %d %s (%d errors) (%d warnings)", total, ps, totalErrors, total-totalErrors)
8080

81-
if total > 0 && totalErrors > 0 {
81+
switch {
82+
case total > 0 && totalErrors > 0:
8283
suffix = color.RedString("\n ✖" + suffix)
83-
} else if total > 0 && totalErrors == 0 {
84+
case total > 0 && totalErrors == 0:
8485
suffix = color.YellowString("\n ✖" + suffix)
85-
} else {
86+
default:
8687
suffix, output = "", ""
8788
}
8889

formatter/unix.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package formatter
22

33
import (
4-
"bytes"
54
"fmt"
5+
"strings"
66

77
"github.com/mgechev/revive/lint"
88
)
@@ -22,9 +22,9 @@ func (*Unix) Name() string {
2222

2323
// Format formats the failures gotten from the lint.
2424
func (*Unix) Format(failures <-chan lint.Failure, _ lint.Config) (string, error) {
25-
var buf bytes.Buffer
25+
var sb strings.Builder
2626
for failure := range failures {
27-
fmt.Fprintf(&buf, "%v: [%s] %s\n", failure.Position.Start, failure.RuleName, failure.Failure)
27+
sb.WriteString(fmt.Sprintf("%v: [%s] %s\n", failure.Position.Start, failure.RuleName, failure.Failure))
2828
}
29-
return buf.String(), nil
29+
return sb.String(), nil
3030
}

lint/file.go

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -191,13 +191,14 @@ func (f *File) disabledIntervals(rules []Rule, mustSpecifyDisableReason bool, fa
191191
handleRules := func(_, modifier string, isEnabled bool, line int, ruleNames []string) []DisabledInterval {
192192
var result []DisabledInterval
193193
for _, name := range ruleNames {
194-
if modifier == "line" {
194+
switch modifier {
195+
case "line":
195196
handleConfig(isEnabled, line, name)
196197
handleConfig(!isEnabled, line, name)
197-
} else if modifier == "next-line" {
198+
case "next-line":
198199
handleConfig(isEnabled, line+1, name)
199200
handleConfig(!isEnabled, line+1, name)
200-
} else {
201+
default:
201202
handleConfig(isEnabled, line, name)
202203
}
203204
}
@@ -260,21 +261,22 @@ func (File) filterFailures(failures []Failure, disabledIntervals disabledInterva
260261
intervals, ok := disabledIntervals[failure.RuleName]
261262
if !ok {
262263
result = append(result, failure)
263-
} else {
264-
include := true
265-
for _, interval := range intervals {
266-
intStart := interval.From.Line
267-
intEnd := interval.To.Line
268-
if (fStart >= intStart && fStart <= intEnd) ||
269-
(fEnd >= intStart && fEnd <= intEnd) {
270-
include = false
271-
break
272-
}
273-
}
274-
if include {
275-
result = append(result, failure)
264+
continue
265+
}
266+
267+
include := true
268+
for _, interval := range intervals {
269+
intStart := interval.From.Line
270+
intEnd := interval.To.Line
271+
if (fStart >= intStart && fStart <= intEnd) ||
272+
(fEnd >= intStart && fEnd <= intEnd) {
273+
include = false
274+
break
276275
}
277276
}
277+
if include {
278+
result = append(result, failure)
279+
}
278280
}
279281
return result
280282
}

lint/linter.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,8 @@ func (l Linter) readFile(path string) (result []byte, err error) {
5454
}
5555

5656
var (
57-
genHdr = []byte("// Code generated ")
58-
genFtr = []byte(" DO NOT EDIT.")
57+
generatedPrefix = []byte("// Code generated ")
58+
generatedSuffix = []byte(" DO NOT EDIT.")
5959
defaultGoVersion = goversion.Must(goversion.NewVersion("1.0"))
6060
)
6161

@@ -209,7 +209,7 @@ func isGenerated(src []byte) bool {
209209
sc := bufio.NewScanner(bytes.NewReader(src))
210210
for sc.Scan() {
211211
b := sc.Bytes()
212-
if bytes.HasPrefix(b, genHdr) && bytes.HasSuffix(b, genFtr) && len(b) >= len(genHdr)+len(genFtr) {
212+
if bytes.HasPrefix(b, generatedPrefix) && bytes.HasSuffix(b, generatedSuffix) && len(b) >= len(generatedPrefix)+len(generatedSuffix) {
213213
return true
214214
}
215215
}

lint/package.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,11 +89,11 @@ func (p *Package) TypeCheck() error {
8989
p.Lock()
9090
defer p.Unlock()
9191

92-
// If type checking has already been performed
93-
// skip it.
94-
if p.typesInfo != nil || p.typesPkg != nil {
92+
alreadyTypeChecked := p.typesInfo != nil || p.typesPkg != nil
93+
if alreadyTypeChecked {
9594
return nil
9695
}
96+
9797
config := &types.Config{
9898
// By setting a no-op error reporter, the type checker does as much work as possible.
9999
Error: func(error) {},

lint/rule.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,6 @@ type Rule interface {
1717
Apply(*File, Arguments) []Failure
1818
}
1919

20-
// AbstractRule defines an abstract rule.
21-
type AbstractRule struct {
22-
Failures []Failure
23-
}
24-
2520
// ToFailurePosition returns the failure position.
2621
func ToFailurePosition(start, end token.Pos, file *File) FailurePosition {
2722
return FailurePosition{

logging/logger.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,13 @@ func GetLogger() (*log.Logger, error) {
1919
var writer io.Writer
2020
var err error
2121

22+
writer = io.Discard // by default, suppress all logging output
2223
debugModeEnabled := os.Getenv("DEBUG") == "1"
2324
if debugModeEnabled {
2425
writer, err = os.Create("revive.log")
2526
if err != nil {
2627
return nil, err
2728
}
28-
} else {
29-
// Suppress all logging output if debug mode is disabled
30-
writer = io.Discard
3129
}
3230

3331
logger = log.New(writer, "", log.LstdFlags)
@@ -38,7 +36,7 @@ func GetLogger() (*log.Logger, error) {
3836
logger.SetFlags(0)
3937
}
4038

41-
logger.Println("Logger initialised")
39+
logger.Println("Logger initialized")
4240

4341
return logger, nil
4442
}

0 commit comments

Comments
 (0)