go-tools icon indicating copy to clipboard operation
go-tools copied to clipboard

simple: S1008 suggests to remove comments from if()s that are specifically written to make a comment stand out

Open alexander-hirth opened this issue 1 year ago • 4 comments

Sometimes it makes sense to have code organised this way:

if cond {
    // explain a rather non-obvious condition checked by this if()
    return true
}
// I expect more cases to appear where I need to return true,
// but for now the above case is the only one.
return false

Gosimple's check S1008 suggests to replace this with a plain return cond.

If a conditional if smth { return true } has comments inside, then do not suggest to fold it with the code that follows.

alexander-hirth avatar Jan 08 '24 09:01 alexander-hirth

Wouldn't this be a prime candidate to use the ignore tag's?

e.g.: //lint:ignore S1008 explain a rather non-obvious condition checked by this if() ?

Dynom avatar Apr 04 '24 07:04 Dynom

Of course not. //lint:ignore is positively ugly.

alexander-hirth avatar Apr 04 '24 07:04 alexander-hirth

To have the linter assume that when there are comments in place it's "OK", you already add comments. Adding a prefix to be more explicit about it instead of assuming sounds much more robust to me. Plus it allows you to find it in the future, something you've already planned for.

Dynom avatar Apr 04 '24 07:04 Dynom

Either way, reads like a dupe of https://github.com/dominikh/go-tools/issues/704

Dynom avatar Apr 04 '24 07:04 Dynom