Skip to content

Commit 105c3f1

Browse files
committed
Distinguish between low value and no value
1 parent 8feae4d commit 105c3f1

File tree

2 files changed

+29
-12
lines changed

2 files changed

+29
-12
lines changed

cmd/patch_evaluator/main.go

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ func main() {
2020
defer patch.Close()
2121

2222
evaluator := patch_evaluator.Evaluator{}
23-
files, reasons, err := evaluator.Evaluate(patch)
23+
files, reasonsLowValue, reasonsNoValue, err := evaluator.Evaluate(patch)
2424
if err != nil {
2525
log.Fatal(err)
2626
}
@@ -30,8 +30,13 @@ func main() {
3030
fmt.Printf("\t%s\n", file.NewName)
3131
}
3232

33-
fmt.Printf("valueless: %d\n", len(reasons))
34-
for _, reason := range reasons {
33+
fmt.Printf("low-value: %d\n", len(reasonsLowValue))
34+
for _, reason := range reasonsLowValue {
35+
fmt.Printf("\t%s: %s\n", reason.File, reason.Message)
36+
}
37+
38+
fmt.Printf("no-value: %d\n", len(reasonsNoValue))
39+
for _, reason := range reasonsNoValue {
3540
fmt.Printf("\t%s: %s\n", reason.File, reason.Message)
3641
}
3742
}

evaluator.go

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,35 +11,47 @@ import (
1111
type Evaluator struct {
1212
}
1313

14-
func (e Evaluator) Evaluate(r io.Reader) ([]*gitdiff.File, []*Reasons, error) {
14+
func (e Evaluator) Evaluate(r io.Reader) ([]*gitdiff.File, []*Reasons, []*Reasons, error) {
1515
files, _, err := gitdiff.Parse(r)
1616
if err != nil {
17-
return nil, nil, err
17+
return nil, nil, nil, err
1818
}
1919

20-
filterers := []Filterer{
20+
lowValue := []Filterer{
2121
FocusSuffixFilterer{".sh", ".bash", ".c", ".go", ".py", ".java", ".cpp", ".h", ".hpp", ".yaml", ".yml"},
22-
PrefixFilterer{"vendor/", "test/", "tests/"},
23-
ContainsFilterer{"generated", "testdata"},
22+
PrefixFilterer{"test/", "tests/"},
2423
SuffixFilterer{"_test.go"},
24+
}
25+
26+
noValue := []Filterer{
27+
PrefixFilterer{"vendor/"},
28+
ContainsFilterer{"generated", "testdata"},
2529
CommentFilterer{},
2630
EmptyLineFilterer{},
2731
}
2832

2933
filtered := []*gitdiff.File{}
3034

31-
reasons := []*Reasons{}
35+
reasonsLowValue := []*Reasons{}
36+
37+
reasonsNoValue := []*Reasons{}
3238
loop:
3339
for _, file := range files {
34-
for _, filterer := range filterers {
40+
for _, filterer := range noValue {
41+
if rea := filterer.Filter(file); rea != nil {
42+
reasonsNoValue = append(reasonsNoValue, rea)
43+
continue loop
44+
}
45+
}
46+
for _, filterer := range lowValue {
3547
if rea := filterer.Filter(file); rea != nil {
36-
reasons = append(reasons, rea)
48+
reasonsLowValue = append(reasonsLowValue, rea)
3749
continue loop
3850
}
3951
}
4052
filtered = append(filtered, file)
4153
}
42-
return filtered, reasons, nil
54+
return filtered, reasonsLowValue, reasonsNoValue, nil
4355
}
4456

4557
var contentDiff = diffmatchpatch.New()

0 commit comments

Comments
 (0)