93 lines
3.2 KiB
JSON
93 lines
3.2 KiB
JSON
[
|
|
{
|
|
"id": "EXC0001",
|
|
"pattern": "Error return value of .((os\\.)?std(out|err)\\..*|.*Close|.*Flush|os\\.Remove(All)?|.*print(f|ln)?|os\\.(Un)?Setenv). is not checked",
|
|
"linter": "errcheck",
|
|
"why": "Almost all programs ignore errors on these functions and in most cases it's ok"
|
|
},
|
|
{
|
|
"id": "EXC0002",
|
|
"pattern": "(comment on exported (method|function|type|const)|should have( a package)? comment|comment should be of the form)",
|
|
"linter": "golint",
|
|
"why": "Annoying issue about not having a comment. The rare codebase has such comments"
|
|
},
|
|
{
|
|
"id": "EXC0003",
|
|
"pattern": "func name will be used as test\\.Test.* by other packages, and that stutters; consider calling this",
|
|
"linter": "golint",
|
|
"why": "False positive when tests are defined in package 'test'"
|
|
},
|
|
{
|
|
"id": "EXC0004",
|
|
"pattern": "(possible misuse of unsafe.Pointer|should have signature)",
|
|
"linter": "govet",
|
|
"why": "Common false positives"
|
|
},
|
|
{
|
|
"id": "EXC0005",
|
|
"pattern": "ineffective break statement. Did you mean to break out of the outer loop",
|
|
"linter": "staticcheck",
|
|
"why": "Developers tend to write in C-style with an explicit 'break' in a 'switch', so it's ok to ignore"
|
|
},
|
|
{
|
|
"id": "EXC0006",
|
|
"pattern": "Use of unsafe calls should be audited",
|
|
"linter": "gosec",
|
|
"why": "Too many false-positives on 'unsafe' usage"
|
|
},
|
|
{
|
|
"id": "EXC0007",
|
|
"pattern": "Subprocess launch(ed with variable|ing should be audited)",
|
|
"linter": "gosec",
|
|
"why": "Too many false-positives for parametrized shell calls"
|
|
},
|
|
{
|
|
"id": "EXC0008",
|
|
"pattern": "(G104)",
|
|
"linter": "gosec",
|
|
"why": "Duplicated errcheck checks"
|
|
},
|
|
{
|
|
"id": "EXC0009",
|
|
"pattern": "(Expect directory permissions to be 0750 or less|Expect file permissions to be 0600 or less)",
|
|
"linter": "gosec",
|
|
"why": "Too many issues in popular repos"
|
|
},
|
|
{
|
|
"id": "EXC0010",
|
|
"pattern": "Potential file inclusion via variable",
|
|
"linter": "gosec",
|
|
"why": "False positive is triggered by 'src, err := ioutil.ReadFile(filename)'"
|
|
},
|
|
{
|
|
"id": "EXC0011",
|
|
"pattern": "(comment on exported (method|function|type|const)|should have( a package)? comment|comment should be of the form)",
|
|
"linter": "stylecheck",
|
|
"why": "Annoying issue about not having a comment. The rare codebase has such comments"
|
|
},
|
|
{
|
|
"id": "EXC0012",
|
|
"pattern": "exported (.+) should have comment( \\(or a comment on this block\\))? or be unexported",
|
|
"linter": "revive",
|
|
"why": "Annoying issue about not having a comment. The rare codebase has such comments"
|
|
},
|
|
{
|
|
"id": "EXC0013",
|
|
"pattern": "package comment should be of the form \"(.+)...",
|
|
"linter": "revive",
|
|
"why": "Annoying issue about not having a comment. The rare codebase has such comments"
|
|
},
|
|
{
|
|
"id": "EXC0014",
|
|
"pattern": "comment on exported (.+) should be of the form \"(.+)...\"",
|
|
"linter": "revive",
|
|
"why": "Annoying issue about not having a comment. The rare codebase has such comments"
|
|
},
|
|
{
|
|
"id": "EXC0015",
|
|
"pattern": "should have a package comment",
|
|
"linter": "revive",
|
|
"why": "Annoying issue about not having a comment. The rare codebase has such comments"
|
|
}
|
|
]
|