Skip to content

Commit 9005bf6

Browse files
committed
refactor(util/compareNumInFilename): skip redundant prefix length evaluation
1 parent 77bef2d commit 9005bf6

File tree

2 files changed

+7
-8
lines changed

2 files changed

+7
-8
lines changed

src/util/compareNumInFilename.go

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ func findCommonPrefix(prev, next []byte) int {
2222
return maxLen
2323
}
2424

25-
func extractPrefixDigits(input []byte) []byte {
25+
func extractPrefixDigits(input []byte) ([]byte, int) {
2626
buf := input[0:0]
2727

2828
var prefixLen, length int
@@ -32,7 +32,7 @@ func extractPrefixDigits(input []byte) []byte {
3232
break
3333
}
3434
}
35-
return buf[:prefixLen]
35+
return buf[:prefixLen], prefixLen
3636
}
3737

3838
func compareIgnoreAsciiCase(prev, next []byte) (less, ok bool) {
@@ -92,10 +92,8 @@ func CompareNumInFilename(prev, next []byte) (less, ok bool) {
9292
}
9393
}
9494

95-
prevDigits := extractPrefixDigits(prev)
96-
nextDigits := extractPrefixDigits(next)
97-
prevDigitsLen := len(prevDigits)
98-
nextDigitsLen := len(nextDigits)
95+
prevDigits, prevDigitsLen := extractPrefixDigits(prev)
96+
nextDigits, nextDigitsLen := extractPrefixDigits(next)
9997

10098
if prevDigitsLen != nextDigitsLen {
10199
return prevDigitsLen < nextDigitsLen, true

src/util/compareNumInFilename_test.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,9 @@ func TestCompareNumInFilename(t *testing.T) {
6464
}
6565

6666
func TestExtractPrefixDigits(t *testing.T) {
67-
result := string(extractPrefixDigits([]byte("123.haha")))
68-
if result != "123" {
67+
result, _ := extractPrefixDigits([]byte("123.haha"))
68+
strResult := string(result)
69+
if strResult != "123" {
6970
t.Error(result)
7071
}
7172
}

0 commit comments

Comments
 (0)