Remove redundant len check around loop (#27464)

This pull request is a minor code cleanup.

From the Go specification (https://go.dev/ref/spec#For_range):

> "1. For a nil slice, the number of iterations is 0."
> "3. If the map is nil, the number of iterations is 0."

`len` returns 0 if the slice or map is nil
(https://pkg.go.dev/builtin#len). Therefore, checking `len(v) > 0`
before a loop is unnecessary.

---

At the time of writing this pull request, there wasn't a lint rule that
catches these issues. The closest I could find is
https://staticcheck.dev/docs/checks/#S103

Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
This commit is contained in:
Eng Zer Jun 2023-10-06 14:49:37 +08:00 committed by GitHub
parent 6cdeb7798b
commit 13d5d2e711
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 31 additions and 45 deletions

View file

@ -116,18 +116,14 @@ func (repo *Repository) searchCommits(id SHA1, opts SearchCommitsOptions) ([]*Co
c.AddArguments("-i") c.AddArguments("-i")
// add authors if present in search query // add authors if present in search query
if len(opts.Authors) > 0 {
for _, v := range opts.Authors { for _, v := range opts.Authors {
c.AddOptionFormat("--author=%s", v) c.AddOptionFormat("--author=%s", v)
} }
}
// add committers if present in search query // add committers if present in search query
if len(opts.Committers) > 0 {
for _, v := range opts.Committers { for _, v := range opts.Committers {
c.AddOptionFormat("--committer=%s", v) c.AddOptionFormat("--committer=%s", v)
} }
}
// add time constraints if present in search query // add time constraints if present in search query
if len(opts.After) > 0 { if len(opts.After) > 0 {
@ -150,11 +146,9 @@ func (repo *Repository) searchCommits(id SHA1, opts SearchCommitsOptions) ([]*Co
// add remaining keywords from search string // add remaining keywords from search string
// note this is done only for command created above // note this is done only for command created above
if len(opts.Keywords) > 0 {
for _, v := range opts.Keywords { for _, v := range opts.Keywords {
cmd.AddOptionFormat("--grep=%s", v) cmd.AddOptionFormat("--grep=%s", v)
} }
}
// search for commits matching given constraints and keywords in commit msg // search for commits matching given constraints and keywords in commit msg
addCommonSearchArgs(cmd) addCommonSearchArgs(cmd)
@ -168,7 +162,6 @@ func (repo *Repository) searchCommits(id SHA1, opts SearchCommitsOptions) ([]*Co
// if there are any keywords (ie not committer:, author:, time:) // if there are any keywords (ie not committer:, author:, time:)
// then let's iterate over them // then let's iterate over them
if len(opts.Keywords) > 0 {
for _, v := range opts.Keywords { for _, v := range opts.Keywords {
// ignore anything not matching a valid sha pattern // ignore anything not matching a valid sha pattern
if IsValidSHAPattern(v) { if IsValidSHAPattern(v) {
@ -188,7 +181,6 @@ func (repo *Repository) searchCommits(id SHA1, opts SearchCommitsOptions) ([]*Co
stdout = append(stdout, '\n') stdout = append(stdout, '\n')
} }
} }
}
return repo.parsePrettyFormatLogToList(bytes.TrimSuffix(stdout, []byte{'\n'})) return repo.parsePrettyFormatLogToList(bytes.TrimSuffix(stdout, []byte{'\n'}))
} }

View file

@ -213,13 +213,11 @@ func NewConfigProviderFromFile(file string, extraConfigs ...string) (ConfigProvi
} }
} }
if len(extraConfigs) > 0 {
for _, s := range extraConfigs { for _, s := range extraConfigs {
if err := cfg.Append([]byte(s)); err != nil { if err := cfg.Append([]byte(s)); err != nil {
return nil, fmt.Errorf("unable to append more config: %v", err) return nil, fmt.Errorf("unable to append more config: %v", err)
} }
} }
}
cfg.NameMapper = ini.SnackCase cfg.NameMapper = ini.SnackCase
return &iniConfigProvider{ return &iniConfigProvider{

View file

@ -965,11 +965,9 @@ func NewIssue(ctx *context.Context) {
_, templateErrs := issue_service.GetTemplatesFromDefaultBranch(ctx.Repo.Repository, ctx.Repo.GitRepo) _, templateErrs := issue_service.GetTemplatesFromDefaultBranch(ctx.Repo.Repository, ctx.Repo.GitRepo)
templateLoaded, errs := setTemplateIfExists(ctx, issueTemplateKey, IssueTemplateCandidates) templateLoaded, errs := setTemplateIfExists(ctx, issueTemplateKey, IssueTemplateCandidates)
if len(errs) > 0 {
for k, v := range errs { for k, v := range errs {
templateErrs[k] = v templateErrs[k] = v
} }
}
if ctx.Written() { if ctx.Written() {
return return
} }

View file

@ -152,7 +152,6 @@ func NewPullRequest(ctx context.Context, repo *repo_model.Repository, issue *iss
if issue.Milestone != nil { if issue.Milestone != nil {
notify_service.IssueChangeMilestone(ctx, issue.Poster, issue, 0) notify_service.IssueChangeMilestone(ctx, issue.Poster, issue, 0)
} }
if len(assigneeIDs) > 0 {
for _, assigneeID := range assigneeIDs { for _, assigneeID := range assigneeIDs {
assignee, err := user_model.GetUserByID(ctx, assigneeID) assignee, err := user_model.GetUserByID(ctx, assigneeID)
if err != nil { if err != nil {
@ -160,7 +159,6 @@ func NewPullRequest(ctx context.Context, repo *repo_model.Repository, issue *iss
} }
notify_service.IssueChangeAssignee(ctx, issue.Poster, issue, assignee, false, assigneeCommentMap[assigneeID]) notify_service.IssueChangeAssignee(ctx, issue.Poster, issue, assignee, false, assigneeCommentMap[assigneeID])
} }
}
return nil return nil
} }