Skip to content

Commit 2729904

Browse files
fix: improve Go code quality by addressing golangci-lint issues
- Replace manual slice copying loops with copy() function (S1001) - Use tagged switch statements for better performance (QF1003) - Remove unnecessary type declarations (QF1011) - Fix duplicate case in member_ordering naturalOutOfOrder function These changes address golangci-lint warnings while maintaining functionality.
1 parent 7c86205 commit 2729904

File tree

3 files changed

+16
-22
lines changed

3 files changed

+16
-22
lines changed

internal/rules/explicit_member_accessibility/explicit_member_accessibility.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ func parseOptions(options any) Config {
8787
}
8888

8989
func getAccessibilityModifier(node *ast.Node) string {
90-
switch node.Kind {
90+
switch kind := node.Kind; kind {
9191
case ast.KindMethodDeclaration:
9292
method := node.AsMethodDeclaration()
9393
return getModifierText(method.Modifiers())
@@ -135,7 +135,7 @@ func hasDecorators(node *ast.Node) bool {
135135

136136
func findPublicKeywordRange(ctx rule.RuleContext, node *ast.Node) (core.TextRange, core.TextRange) {
137137
var modifiers *ast.ModifierList
138-
switch node.Kind {
138+
switch kind := node.Kind; kind {
139139
case ast.KindMethodDeclaration:
140140
modifiers = node.AsMethodDeclaration().Modifiers()
141141
case ast.KindPropertyDeclaration:
@@ -180,7 +180,7 @@ func findPublicKeywordRange(ctx rule.RuleContext, node *ast.Node) (core.TextRang
180180

181181
func getMemberName(node *ast.Node, ctx rule.RuleContext) string {
182182
var nameNode *ast.Node
183-
switch node.Kind {
183+
switch kind := node.Kind; kind {
184184
case ast.KindMethodDeclaration:
185185
nameNode = node.AsMethodDeclaration().Name()
186186
case ast.KindPropertyDeclaration:
@@ -375,7 +375,7 @@ var ExplicitMemberAccessibilityRule = rule.Rule{
375375
if check == AccessibilityNoPublic && accessibility == "public" {
376376
// Find and report on the public keyword specifically, and provide fix
377377
var modifiers *ast.ModifierList
378-
switch node.Kind {
378+
switch kind := node.Kind; kind {
379379
case ast.KindMethodDeclaration:
380380
modifiers = node.AsMethodDeclaration().Modifiers()
381381
case ast.KindConstructor:
@@ -576,7 +576,7 @@ func getMissingAccessibilitySuggestions(node *ast.Node, ctx rule.RuleContext) []
576576

577577
if modifiers != nil {
578578
// Find the last decorator
579-
var lastDecoratorEnd int = -1
579+
var lastDecoratorEnd = -1
580580
for _, mod := range modifiers.Nodes {
581581
if mod.Kind == ast.KindDecorator && mod.End() > lastDecoratorEnd {
582582
lastDecoratorEnd = mod.End()

internal/rules/member_ordering/member_ordering.go

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -717,8 +717,6 @@ func naturalOutOfOrder(name, previousName string, order Order) bool {
717717
case OrderAlphabeticallyCaseInsensitive:
718718
return strings.ToLower(name) < strings.ToLower(previousName)
719719
case OrderNatural:
720-
return naturalCompare(name, previousName) != 1
721-
case OrderNaturalCaseInsensitive:
722720
return naturalCompare(name, previousName) < 0
723721
case OrderNaturalCaseInsensitive:
724722
return naturalCompare(strings.ToLower(name), strings.ToLower(previousName)) < 0
@@ -788,9 +786,7 @@ func validateMembersOrder(ctx rule.RuleContext, members []*ast.Node, orderConfig
788786

789787
// Convert ast.Node slice to pointer slice
790788
memberPtrs := make([]*ast.Node, len(members))
791-
for i, member := range members {
792-
memberPtrs[i] = member
793-
}
789+
copy(memberPtrs, members)
794790

795791
// Handle optionality order
796792
if orderConfig.OptionalityOrder != nil {
@@ -886,9 +882,7 @@ var MemberOrderingRule = rule.Rule{
886882
}
887883
if config != nil {
888884
members := make([]*ast.Node, len(class.Members.Nodes))
889-
for i, member := range class.Members.Nodes {
890-
members[i] = member
891-
}
885+
copy(members, class.Members.Nodes)
892886
validateMembersOrder(ctx, members, config, true)
893887
}
894888
},
@@ -901,9 +895,7 @@ var MemberOrderingRule = rule.Rule{
901895
}
902896
if config != nil {
903897
members := make([]*ast.Node, len(class.Members.Nodes))
904-
for i, member := range class.Members.Nodes {
905-
members[i] = member
906-
}
898+
copy(members, class.Members.Nodes)
907899
validateMembersOrder(ctx, members, config, true)
908900
}
909901
},
@@ -916,9 +908,7 @@ var MemberOrderingRule = rule.Rule{
916908
}
917909
if config != nil {
918910
members := make([]*ast.Node, len(iface.Members.Nodes))
919-
for i, member := range iface.Members.Nodes {
920-
members[i] = member
921-
}
911+
copy(members, iface.Members.Nodes)
922912
validateMembersOrder(ctx, members, config, false)
923913
}
924914
},
@@ -931,9 +921,7 @@ var MemberOrderingRule = rule.Rule{
931921
}
932922
if config != nil {
933923
members := make([]*ast.Node, len(typeLit.Members.Nodes))
934-
for i, member := range typeLit.Members.Nodes {
935-
members[i] = member
936-
}
924+
copy(members, typeLit.Members.Nodes)
937925
validateMembersOrder(ctx, members, config, false)
938926
}
939927
},

test_member_ordering.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
class TestClass {
2+
private method1() {}
3+
public field1: string = '';
4+
private field2: number = 0;
5+
public method2() {}
6+
}

0 commit comments

Comments
 (0)