зеркало из https://github.com/golang/tools.git
go.tools/cmd/vet: add stable checks to doc.go
These are the simplest possible descriptions of each command. They may be fleshed out later. Fixes golang/go#7298. LGTM=r R=r CC=golang-codereviews https://golang.org/cl/61480044
This commit is contained in:
Родитель
8c7a4539cd
Коммит
47596b4b81
|
@ -9,6 +9,11 @@ calls whose arguments do not align with the format string. Vet uses heuristics
|
|||
that do not guarantee all reports are genuine problems, but it can find errors
|
||||
not caught by the compilers.
|
||||
|
||||
Usage:
|
||||
|
||||
go tool vet [flag] [file.go ...]
|
||||
go tool vet [flag] [directory ...] # Scan all .go files under directory, recursively
|
||||
|
||||
Its exit code is 2 for erroneous invocation of the tool, 1 if a
|
||||
problem was reported, and 0 otherwise. Note that the tool does not
|
||||
check every possible problem and depends on unreliable heuristics
|
||||
|
@ -20,7 +25,9 @@ those identified by the flags are performed.
|
|||
|
||||
Available checks:
|
||||
|
||||
1. Printf family, flag -printf
|
||||
1. Printf family
|
||||
|
||||
Flag -printf
|
||||
|
||||
Suspicious calls to functions in the Printf family, including any functions
|
||||
with these names:
|
||||
|
@ -37,7 +44,9 @@ complains about arguments that look like format descriptor strings.
|
|||
It also checks for errors such as using a Writer as the first argument of
|
||||
Printf.
|
||||
|
||||
2. Methods, flag -methods
|
||||
2. Methods
|
||||
|
||||
Flag -methods
|
||||
|
||||
Non-standard signatures for methods with familiar names, including:
|
||||
Format GobEncode GobDecode MarshalJSON MarshalXML
|
||||
|
@ -45,21 +54,79 @@ Non-standard signatures for methods with familiar names, including:
|
|||
UnmarshalJSON UnreadByte UnreadRune WriteByte
|
||||
WriteTo
|
||||
|
||||
3. Struct tags, flag -structtags
|
||||
3. Struct tags
|
||||
|
||||
Flag -structtags
|
||||
|
||||
Struct tags that do not follow the format understood by reflect.StructTag.Get.
|
||||
|
||||
4. Unkeyed composite literals, flag -composites
|
||||
4. Unkeyed composite literals
|
||||
|
||||
Flag -composites
|
||||
|
||||
Composite struct literals that do not use the field-keyed syntax.
|
||||
|
||||
5. Assembly declarations
|
||||
|
||||
Usage:
|
||||
Flag -asmdecl
|
||||
|
||||
go tool vet [flag] [file.go ...]
|
||||
go tool vet [flag] [directory ...] # Scan all .go files under directory, recursively
|
||||
Mismatches between assembly files and Go function declarations.
|
||||
|
||||
The other flags are:
|
||||
6. Useless assignments
|
||||
|
||||
Flag -assign
|
||||
|
||||
Check for useless assignments.
|
||||
|
||||
7. Atomic mistakes
|
||||
|
||||
Flag -atomic
|
||||
|
||||
Common mistaken usages of the sync/atomic package.
|
||||
|
||||
8. Build tags
|
||||
|
||||
Flag -buildtags
|
||||
|
||||
Badly formed or misplaced +build tags.
|
||||
|
||||
9. Copying locks
|
||||
|
||||
Flag -copylocks
|
||||
|
||||
Locks that are erroneously passed by value.
|
||||
|
||||
10. Nil function comparison
|
||||
|
||||
Flag -nilfunc
|
||||
|
||||
Comparisons between functions and nil.
|
||||
|
||||
11. Range loop variables
|
||||
|
||||
Flag -rangeloops
|
||||
|
||||
Incorrect uses of range loop variables in closures.
|
||||
|
||||
12. Unreachable code
|
||||
|
||||
Flag -unreachable
|
||||
|
||||
Unreachable code.
|
||||
|
||||
13. Shadowed variables
|
||||
|
||||
Flag -shadow=false (experimental; must be set explicitly)
|
||||
|
||||
Variables that may have been unintentionally shadowed.
|
||||
|
||||
|
||||
Other flags
|
||||
|
||||
These flags configure the behavior of vet:
|
||||
|
||||
-all (default true)
|
||||
Check everything; disabled if any explicit check is requested.
|
||||
-v
|
||||
Verbose mode
|
||||
-printfuncs
|
||||
|
@ -71,6 +138,9 @@ The other flags are:
|
|||
if you have Warn and Warnf functions that take an
|
||||
io.Writer as their first argument, like Fprintf,
|
||||
-printfuncs=Warn:1,Warnf:1
|
||||
|
||||
-shadowstrict
|
||||
Whether to be strict about shadowing; can be noisy.
|
||||
-test
|
||||
For testing only: sets -all and -shadow.
|
||||
*/
|
||||
package main
|
||||
|
|
Загрузка…
Ссылка в новой задаче