ืืืืื ื, ืื ืืงืืฆืืจ ืื, ืชืืื ื ื ืชืื ืืชืืงืืืช ืืืืืจืืช, ืคืฉืืืช ืืืืฆืืขืื. ืืืื ืืืงืืืืืืช ืฉืื, ืืชืืืืจ ืืืื ืืืื ืืืืงืืื ืืืืงื ืฉืื ืืืคืืื ืืืชื ืืืืืจื ืขืืฆืืชืืช ืืื ืืืช ืชืืื ื ืืืืจื ืืืืื ื. ืขื ืืืช, ื ืงืืืืช ืืืืืง ืฉื ืืฉืคื ืืืื ืืื ื ืืืืืืช ืืืืืื ืืช ืืืืืืช ืืจืืืช ืืืืื ืฉื ืืกืืกื ืงืื ืืืืืื ืืืืจืืืื. ืืื ืืื ื ืืชืื ืกืืื ืืืคืืื ืืืืื ืืื. ืื ืืืคืฉืจืื ืืืคืชืืื ืืืืืช ืืขืืืช ืืืงืื, ืืฉืคืจ ืืช ืืืืืช ืืชืืืืงื ืืืืืืื ืชืงืื ืืช ืงืื ืขืงืืืช ืืื ืฆืืืชืื ืืคืจืืืงืืื.
ื ืืชืื ืกืืื ืืืืง ืงืื ืืืื ืืืฆืข ืืืชื. ืืืื ืืื ืืืฉืคืื ืืืืื ืจืื ืฉื ืืขืืืช, ืืืื ืฉืืืืืช ืืืืืืช, ืฆืืืืจื ืืงืืืง ืืืืฆืืขืื, ืืคืืืืช ืงืื, ืืคืจืืช ืกืื ืื ืืคืืืขืืืืช ืืืืื ืคืืื ืฆืืืืืืช. ืขืืืจ ืืคืชืืื ืืขืืืืื ืขื ืืขืจืืืช ืืืืืจืืช, ืฉืืจืืชื backend ืื ืกืคืจืืืช ืชืฉืชืืช ืฉื ืืชืื ื-Go, ืืคืืื ืืขืืืืช ืงืืืช ืืืืืืช ืืืกืืื ืืืขืืืช ืชืคืขืืืืืช ืืฉืืขืืชืืืช. ืืืืื ืืืงืื ืฉืืื ืืื ื ืจืง ืืืขืื; ืืื ืืืื ื.
Go ืืชืืื ืืืืืื ืื ืืชืื ืกืืื. ืืืืืจ ืฉืื ืงืคืื ื, ืืชืืืืจ ืฉืื ืฆืคืื, ืืืืขืจืืช ืืืงืืืืืืช ืฉืื ืืืฉืงืขืช ืขืืืงืืช ืืืืืืืฆืื. ืืืื ืืื go vet, go fmt, ื golint ืืื ืื ืืืืจ ืืืง ืืฉืจืฉืจืช ืืืืื ืืกืื ืืจืืืช ืฉื Go. ืื ืืขืืจ ืืืื, ืงืืืืช ืืขืจืืช ืืงืืืืืืช ืจืืื ืืืชืจ ืฉื ืื ืชืืื ืืชืงืืืื, ืืื ืขืืจ ืืืฆืืจืช ืงืื (linters), ืกืืจืงื ืืืืื ืืคืืืคืืจืืืช ืืืืืช ืงืื. ืืืงื ืืชืืงืืื ืืืืืคืช ืืืกืืืืช ืืืืืืืืืืช ืฉื Go, ืืืจืื ืืชืืืื ืืืืืื ืืืืื ืขืืื ืื ืืงืื ืืงืืื, ืืืื ืืื ืฆืฆื ืืื ืืชืืื ืืืืงืืจืช ืืืืื ืืืขืจืืืช ืืจืืช ืืืฆืืจ.
ืขืืืจ ืืคืชืืื ืืื ืืืื ืืกืืกื ืงืื ืืืืืื ืืืืืื, ืืืืืฅ ืืื ื ืืชืื ืกืืื ื ืืื ืื ืืืื ืืืืืฅ ืืช ืชืืืื ืืืืืขื, ืืืคืืืช ืืช ืชืงืืจืช ืืืืืงื ืืืื ืืข ืจืืจืกืืืช. ืืฆืืืชืื ืงืื ืื, ืืืื ืืื ืืกืคืงืื ืจืฉืช ืืืืืื. ืืกืืืืืช ืืจืืื ืืืช, ืื ืชืืืืื ืืขืงืืืืช ืืืชืืืืืช ืืงื ื ืืืื ืืืื.
ืืืืจืื ืื, ื ืืงืืจ 20 ืืืื ืื ืืชืื ืืกืืื ืืืขืืืื ืืื ืคืืฆืื ืืืืชืจ ืขืืืจ Go. ืื ืืื ืืืขืจื ืขื ืกืื ืชืืื ืืืืงืื ืฉืื, ื ืงืืืืช ืืืืืง ืฉืื, ืืืืืืช ืืืื ืืืจืฆืื ืฉืื ืืืจืืืื ืืืืช ืฉืื ืืฆืื ืืจืืช ืคืืชืื ืืขืืื ืืืืืชื. ืืื ืื ืืชื ืืชืืืืื ืคืจืืืงื ืืืฉ ืื ืืฉืคืจืื ืคืจืืืงื ืงืืื, ืืืื ืืื ืืขืืจื ืืื ืืืชืื ืงืื Go ื ืงื, ืืืื ืื ืืชื ืืชืืืืงื ืืืชืจ ืืืืืืื ืจื ืืืชืจ.
SMART TS XL
SMART TS XL ืืื ืคืืืคืืจืืช ื ืืชืื ืกืืื ืขืืฆืืชืืช ืฉื ืืขืื ืืืชืืืื ืขื ืืืืจืืืืช ืฉื ืืกืืกื ืงืื ืืืืืื ืฉื Go ืขื ืจืืช ืขืืืง ืฉืืืจืืช ืืขืืจ ื-linters ืืกืืจืชืืื. ืืคืืืคืืจืื, ืฉื ืื ืชื ืืืงืืจ ืขืืืจ ื ืืชืื ืงืื ืืืืจ ืงืืื, ืืฆืืขื ืืขืช ืืืืืืช ืืืงืืช ืขืืืจ ืืืฉืืื Golang ืืืืจื ืืื ืืืืงืจื-ืฉืืจืืชืื, ืืื ืืืืืื ืืืขืจืืืช ืืจืื ืืจืืื ืืช.
ืื ืืืื ืืืืื ืฉืืชืืงืืื ืื ืืจืง ืืกืื ืื ืื ืืขืืฆืื, SMART TS XL ืืื ื ืืืื ืกืื ืื ืขืืืง ืฉื ืืกืืก ืืงืื ืฉืื. ืืื ืื ืชื ืืืืืงืช ืืืฆืืข, ืืชื ืืืืช ืืงืืืืืืช ืืืจืืืช ื ืชืื ืื ืืื-ืฉืืจืืชืืื ืืื ืืืฉืืฃ ืกืืืื ืื ืฉืงืฉื ืืืืืช ืืืืฆืขืืช ืืืืงืืช ืชืืืืจ ืืกืืกืืืช.
ืืืืืืช ืืคืชื ืฉื SMART TS XL ืขืืืจ Go ืืืื:
- ื ืืชืื ืืจืืืช ืืงืจื
ืืืืืืืืืฆืื ืฉื ื ืชืืื ืืืฆืืข ืขื ืคื ื ืฉืืจืืช ืืืจืืืื, ืขืจืืฆืื,selectืืืืงืื ืืคืื ืงืฆืืืช. ืืืื:- ืงืื ืืืชื ื ืืืฉ
- ืืกืืื
- ืืืืืืช ืืื ืกืืคืืืช
- ืืืคืื ืืคืื ืืงื ืฉืืืืืฆ
- ืืขืงื ืืืจ ืืจืืืช ื ืชืื ืื ืืื-ืคืจืืฆืืืจืืื
ืขืืงื ืืืจ ืืฆื ืืฉืชื ืื, ืฉืืืืฉ ืืืืฉืง ืืชื ืืขืช ื ืชืื ืื ืืื ืืืืืืช. ืืกืืืข ืืืืืื:- ืงืื ืืืืฉื ืื ืื ืืืืืช
- ืืืืืช ืฉืื ื ืขืฉื ืืื ืฉืืืืฉ
- ืืชื ืืฉืืืืช ื ืชืื ืื ืืงืฉืืจืืช ืืืงืืืืืืช
- ืืืคืื ืชืืืช ืืืืงืืจืืช ืืจืืืืงืืืจื
ืืกืคืง ืชืืื ืืช ืืจืคืืืช ืืืื ืืืืคื ืฉืื ืืืืืืช, ืืืืืืื ืืฉืืจืืชืื ืืงืืืืื ืืื ืืจืืงืฆืื. ืฉืืืืฉื ืขืืืจ:- ืืืชืืจ ืฆืืืื ืืืืง
- ืืืืคืช ืืืื ืฉืืืืช ื ืงืืื
- ืืื ืช ืืคืืช ืืจืืื ืืฉืืคืืฅ
- ืกืจืืงืช ืืืืื ืกืืืืช
ืืกืื ืืขืืืช ืืืื:- ืฉืืืืฉ ืื ืืืื ืืกืคืจืืื ืกืื ืืจืืืช
- ืืืฉืืจืื ืืงืืืืื
- ืคืืืขืืืืช ืืืืกืกืืช ืืฉืชืงืคืืช
- ืืฉืืคื ืฉื ืฉืืืช ืจืืืฉืื
- ืืืืืืืืืฆืื ืืงื ื ืืืื ืืจืืื ื
ืืืฆืจ ืืืืืจืืืช ืืคืืจืืืช, ืืคืืช ืืจืืื ืืืืืืช ืืฉืคืขื ืืชืืืื ืืืื ื ืืืชืื ืื ืืื-ืฆืืืชื.
SMART TS XL ืืชืืื ืืืืืื ืืฆืืืชืื ืฉืขืืืืื ืขื ืืกืืกื ืงืื ืืืืืื ืฉื Go ืืขืื ืืืจืืืืช ืืืืื ืืืจืืฉืืช ืืื ืคืขืืื ืืืืืจืืช. ืืื ืชืืื ืืืื ืืืจืฆืื ืืืจืืืืช ืขืืืื ืฉื CI/CD ืืืกืืืข ืืฉืืืจื ืขื ืืืืืช ืืืขืจืืืช ืืชืคืชืืืช, ืืืกืคืง ืืืืืื ืืืืืฆื ืฉืืคืืฅ ืืืืืจื ืืืฆืื.
ืืืืื ืืกื ืืื ืืื ื
ืืืืื ืืกื ืืื ืืื ื ืืื ืืื ืืืื ืืืื-ืืื ืืจ ืืคืืคืืืจืืื ืืื ืคืืฆืื ืืืืชืจ ืืืขืจืืช ืืืงืืืืืืช ืฉื Go. ืืื ืืฉืืฉ ืืืืฉืง ืืืืื ืืืคืขืืช ืืกืคืจ ืืื ืืจืื ืื ืืื ืืช, ืืืืคืฉืจ ืืืคืชืืื ืืืฆืข ืืืืื ืจืื ืฉื ืืืืงืืช ืกืืืืืช ืืืืืจืืช ืืืขืงืืืืช ืขื ืคื ื ืืกืืก ืืงืื ืฉืืื. golangci-lint, ืืชืืื ืืืืชืจ ื-50 ืืื ืืจืื ืืืืืื ืชืืช ืคืงืืื ืืืช, ืืืืขื ืืื, ืืื ืืืืืคืช ืกืื ืื ืืืืืงืืช ืืืจืืืืช ืืขื ืืืืคืื ืืฉืืืืืช ืืืคืืกื ืงืื ืืืืืื ืงืื ืฉืืื ื ืืฉืืืืฉ.
ืืืืืจืืช, ืืืืืช ืืชืฆืืจื ืืืืืืืช ืืคืขืื ืืกืืืืืช CI/CD ืืืคืืืช ืืืชื ืืืืืจื ืืืขืืคืช ืขืืืจ ืฆืืืชืื ืืืืคืฉืื ื ืืชืื ืกืืื ืงื ืืฉืงื ืื ืืขืื. ืืื ืชืืื ืื ืืชืฆืืจืืช ืืืชืืืืช ืืืฉืืช, ืื ืืืืืืช ืฉื linter, ืืืื ืื ืืืฆืืขืื ืืขืืฆืื ืคืื ืืฉืืืื ืืืง ืขื ืขืืจืืื ืืคืื ืืืื.
ืืืื ืฉืืืืื ืืฆ'ื-ืืื ื ื ืืคื
ืืืจืืช ื ืงืืืืช ืืืืืง ืฉืื, ื-golangci-lint ืืฉ ืืื ืคืฉืจืืช ืืฉืืืืช ืฉืืคืชืืื ืฆืจืืืื ืืงืืช ืืืฉืืื:
- ืืืืงื ืืืืื ืคื ื ืืฉืื ืืืื
ืืืจืืช ืฉืืื ืืฉืื ืคืงืืืืช ืืื ืืจ ืจืืืช, ืจืืื ืคืืขืืืช ืืจืื ืชืืืืจืืช ืื ืืืืจืืกืืืช ืจืืืื. golangci-lint ืืื ื ืืืฆืข ื ืืชืื ืืจืืืช ืืงืจื ืขืืืงื ืื ื ืืชืื ืืจืืืช ื ืชืื ืื. ืืื ืืื ื ืืืื ืืขืงืื ืืืจ ืืฆื ืืฉืชื ื ืขื ืคื ื ืงืืฆืื ืืจืืืื ืื ืืืืืช ืกืืืื ื ืืืฆืืข ื ืกืชืจืื ืืืืืืงื ืื-ืืื ืืช. - ืืืืขืืช ืืืืืืช ืืืงืืืืืืช
ืืืื ืืชืื golangci-lint ืืขืืชืื ืจืืืงืืช ืืืืืื ืื ืื ืกืื ืืืืื ืฉืืจืืช, ืขืจืืฆืื ืื ืืืืงืื ื ืืืจืื ืืฆืืจื ืฉืืื ืืืืื ื ืกืื ืืืช. ืืชืืฆืื ืืื, ืื ืขืืืืื ืืคืกืคืก ืืคืืกืื ื ืืืื ืืืืข ืื ืืืื ืกืชืื ืฉืื ืชืืื ืืชืงืืืื ืืืชืจ ืืืืืื ืืืืืช. - ืืื ืืขืงื ืืืจ ืืจืืื ืืื-ืคืจืืฆืืืจืืช
ืืืื-ืืื ืืจ ืืื ื ืชืืื ืื ืืชืื ืชืืื ืืืช ืืื ืขื ืคื ื ืืืืืืช ืืืืืืช ืื ืคืื ืงืฆืืืช. ืืกืจืืช ืื ืืืืืืช ืืื ืืขืงื ืืืจ ืืืืืืื, ืจืืืืืฆืืืช ืืจืฃ ืชืืืืืช ืื ื ืืชืื ืืจืฃ ืงืจืืื, ืฉืื ืืืื ืืืช ืืืกืืกื ืงืื ืืงื ื ืืืื ืืืื. - ืคืขืจืื ืืืืกืื ืืืืื
ืืืจืืช ืฉืื ืืืื ืคืชืจืื ืืช ืืืืื ืืกืืกืืื ืืืgosecืืืื ืืื ืืืืกืกื ืืชืืืืช ืืืืืืืื ืขื ืืื ืืืืื. ืื ืืื ื ืืืืื ืคืืืขืืืืช ืชืืืืืช ืืงืฉืจ, ื ืชืืื ืืงืจื ืื ืืืืืืืื ืื ืฉืืืืฉ ืืจืขื ืืชืืื ืืช ืกืคืจืืื ืกืื ืืจืืืืช ืื ืืืืืืช ืืงื ื ืืืื ืืืื. - ืจืขืฉ ืชืงืืจื ื-Linter
ืขื ืขืฉืจืืช ืคืชืจืื ืืช ืืื ืืจ ืืืืคืขืืื ืืืจืืจืช ืืืื, golangci-lint ืืืื ืืืืฆืจ ืคืื ืืื ืื ืจืืขืฉ. ืื ืขืืื ืืืจืื ืืขืืืคืืช ืขืจื ืืช ืื ืืืชืขืืืืช ืืงืจืืช ืืืขืืืช ืืืืชืืืช. ืืืื ืื ืขืืื ืฉื ืืชืฆืืจื ื ืืจืฉ ืืขืชืื ืงืจืืืืช ืืื ืืืคืื ืืช ืืชืืฆืืืช ืื ืืชื ืืช ืืคืขืืื.
GolangCI Lint ืืื ืงื ืืื ื ืจืืฉืื ืืืขื ืขืจื ืืืืืืช ืงืื Go. ืขื ืืืช, ืฆืืืชืื ืฉืขืืืืื ืขื ืืขืจืืืช ืงืจืืืืืช ืืืฉืืื, ืืื ืืจืคื ืืืืืื ืื ืืืืืงื ืขืกืงืืช ืืืจืืืช ืขืฉืืืื ืืืืืงืง ืืืฉืืื ืืืชื ืขื ืื ืชืืื ืกืื ืืืื ืขืืืงืื ืืืชืจ ืืืฆืืขืื ืขืจืืืืืช ืืืงืืช ืืืชืจ ืกืืื ืืืืืืช, ืืงืืืืืืช ืืชืืืืงื.
ืกืืืืงืฆ'ืง
ืกืืืืงืฆ'ืง ืืื ืืื ืืืื ืื ืืชืื ืืกืืื ืืืืืืืื ืืืืชืจ ืฉื Go, ืืืืืข ืืืืืื ืืื ืืืืง, ืืืฆืืขืื ืืจืืืื ืืืืช ืืขืืื ืืืืืชื. Staticcheck, ืฉืคืืชื ืขื ืืื ืืืืื ืืง ืืื ืฃ, ืืืื ืืขืืจ ืืืืืคืช ืกืื ืื ืืืืื ืืขืืืช ืชืื ืืช ืขืืื ืืช, ืืืื ืคืขืืืืช ืืืืชืจืืช, ืืืจืืช ืกืื ืฉืืืืืช, ืืืืืืืช ืืืฆืืขืื ืืืื ื ืงืื ืืฉืืืื.
ืื ืืืื ืืืื ืืจืื ืืกืืกืืื, Staticcheck ืืกืคืง ืชืืื ืืช ืืขืชื ืืืช ืืืืืกืกืืช ืขื ืืื ื ืขืืืงื ืฉื ืฉืคื. ืืื ืื ืชื ืงืื Go ืืืืชืืจ ืืืืื ื ืคืืฆืื, ืฉืืืืฉ ืืจืขื ืืืืฉืงื API ืืืืืืืื ืืกืืื ืื. ืืืืืื ืฉืื ื ืืืจ ืืงืคืืื ืืื ืืฉืงืฃ ืืขืืืช ืฉืกืืืจ ืืื ืื ืฉืื ืืขืืืืช ืืื ืื ืกืืืจ ืฉืื ืืงืจื ืงืฆื ืืืืื ืื, ืื ืฉืืืคื ืืืชื ืืืืื ืื ืืงืจื ืฆืืืชืื ืงืื ืื ืืื ืืคืจืืืงืืื ืืจืื ืืจืืื ืืช.
ืื ืืฉืชืื ืืืื ืขื IDEs, ืืขืจืืืช CI, ื golangci-lint ืืชืืกืฃ. Staticcheck ืชืืื ืืืืืืืื ืืคืืขื ืขื ืคื ื ืืืืืืช ืืืืืืช, ืื ืฉืืืคื ืืืชื ืืืื ืืกืืก ืืืง ืืืืืืื ืช ืงืื ืืืืื ืืช ืืชืืื ืืช ืืืฆืืจ.
ืืืืืืช ืืคืฉืจืืช ืฉื Staticcheck
ืืืจืืช ืฉ-Staticcheck ืืืง ืืืขืืฆื ืืงืคืืื, ืืฉื ื ืืกืคืจ ืชืืืืื ืฉืืื ืืื ืืื ื ืืกืคืง ืืืกืื ืืื:
- ืืืกืจ ื ืืชืื ืชืืื ืืช ืืื
Staticcheck ืืืืง ืงืื ืืจืืช ืืืืืื ืื ืืื ื ืืื ื ืื ืืืฆื ืืจืคื ืงืจืืื ืฉืืืื ืขื ืคื ื ืืกืืกื ืงืื ืืืืืื. ืขืืืจ ืืขืจืืืช ืื ืืืงืจื-ืฉืืจืืชืื ืืืืืืจืื ืื ืืื ืืืืคื ืขืืืง, ืืฉืืขืืช ืืืืจ ืืื ืฉืืื ืขืืื ืืคืกืคืก ืืขืืืช ืืืฆืืช ืืืืืืช ืืืื ืืจืืืืช ื ืชืื ืื ืืงืืืงืืืช ืื ืชืืคืขืืช ืืืืื ืืื-ืืืืืืช. - ืืื ืืจืืืช ื ืชืื ืื ืขืืืงื ืื ื ืืชืื ืืชื
ืืขืื ืฉ-Staticcheck ืืืง ืืืืืืช ืืขืืืืช ืืืืืืช, ืืื ืืื ื ืขืืงื ืืืจ ืืืืคื ืฉืื ื ืชืื ืื ื ืขืื ืืื ืฉืจืฉืจืืืช ืคืื ืงืฆืืืช ืื ืืืฆื ืงืื ืื ืืืื ืขืฉืื ืืืืืข ืืคืขืืืืช ืงืจืืืืืช. ืขืืืื ืื ืืืืืื ืืช ืืชืืขืืช ืฉืื ืื ืืชืื ืืืืื ืืชืงืื ืื ืืืงืืจืช ืืืืืจื ืืืื ืฉื ื ืชืื ืื. - ืืืืื ืืงืืืืืืช ืืืืื
ืืืื ืืืงืืืืืืช ืฉื Go ืืฆืื ืืชืืจืื ืกืืื ืฉืืจืืช ืื, ืขืจืืฆืื ื...selectืืฆืืจืืช. Staticcheck ืืกืคืง ืืืกืื ืืืืื ืืื. ืืื ืืื ื ืืืื ื ืชืืื ืืืฆืืข ืื ืืื ืืช, ืืืื ืฉืืืืฉ ืืจืขื ืืขืจืืฆืื ืื ืืืืช ืงืืคืืื ืคืืื ืฆืืืื ืื ืกืืืื ื ืืจืืฅ. - ืืื ืื ืืข ืืืืื ืื ืืชื ืืืืืจื
ืืืื ืืื ืืขื ืืขืืช ืขืืงืจืืืช ืืืืื ืช, ืื ืฉืืืืจ ืฉืืื ืืื ื ืืืคืฉืจ ืืืฉืชืืฉืื ืืืฆืืจ ืื ืืืชืืื ืืืฉืืช ืืืืื ืืงืืืช. ืืืืจืช ืขืืฆืื ืื ืืฉืคืจืช ืืช ืืขืงืืืืช ืื ืืืืืื ืืช ืืืืืฉืืช ืขืืืจ ืฆืืืชืื ืืืขืื ืืื ืื ืืืืืฃ ืืืื ืืืช ืื ืืืกืืืืช ืืชื ืฉืืืช ืกืคืฆืืคืืืช ืืืจืืื. - ืืืงืื ืฆืจ ืขื ืืื ืขืืฆืื
Staticcheck ื ืื ืข ืืืืืื ืืฉืืคืื ืคืื ืงืฆืืื ืืืืช ืืืืฆืขืช ืขื ืืื ืืืื ืืืจืื ืืืgosec,gosimple, ืืunusedืืื ื ืื ืฉืืืจ ืขื ืืขืืืืชื, ืื ืคืืจืืฉ ืืืืจ ืฉืฆืืืชืื ืขืืืื ืฆืจืืืื ืืืฉืืื ืืืชื ืขื ืืืื ืืืจืื ืืื ืืืฉืื ื ืืชืื ืกืืื ืืื.
Staticcheck ืืฉืืฉ ืืฆืืจื ืืืืื ืืืืชืจ ืืืื ืืืืืงืช ืืืืืช ืืขื ืืืชืืช ืืืืืื ืืจืขืฉ ื ืืื ืืื ืคืจืืืงื Go. ืืื ืืฉืคืจ ืืช ืืืืืช ืืชืืืืงื ืืืกืื ืืขืืืืช ื ืคืืฆืืช ืืืงืื, ืื ืืฉ ืืฉืื ืืืชื ืขื ืืืื ืืืืืืื ืืืชืจ ืืืืืืช ืืืจืืืื, ืชืงืื ืืช ืืงืืืืืืช ืื ืกืจืืงืช ืคืืืขืืืืช ืขืืืงื.
ืื ืืืืืจืื ืจ
ืื ืืืืืจืื ืจ ืืื ืืื ื ืืชืื ืกืืื ืจืฉืื ืืืฆืืจืฃ ืืฉืจืฉืจืช ืืืืื ืฉื Go. ืืื ื ืืขื ืืืืืช ืืขืืืืช ืขืืื ืืช ืืชืืื ืืืช Go ืฉืื ื ืชืคืกืืช ืขื ืืื ืืืืืจ ืื ืกืืืจืืช ืืืจืื ืืืืืื. Go Vet ืืชืืืจ ืืขืชืื ืงืจืืืืช ืืืืืง ืฉืคืืืช ืืงืื ืฉืืชืงืืคื ืืืืื ืื ืขืฉืื ืืืืื ืืคืืกืื ืืกืืื ืื ืื ืฉืืืืื.
ืื ืืืืง ืืขืืืช ืืื ืฉืืืืฉ ืืจืขื Printf ืคืขืืื ืืคืืจืื, ืืฉืชื ืื ืืืฆืืืื, ืงืื ืฉืืื ื ื ืืชื ืืืฉืื ืืงืืขื ืกืื ืื ืืืืืื. ืืืืืื ืฉืืื ืืคืืชื ืืืชืืืืง ืขื ืืื ืฆืืืช ืืืืื ืฉื Go, Go Vet ืืชืคืชื ืืฆื ืืฉืคื ืืืฉืงืฃ ืฆืืคืืืช ืืืืืืืืืืช. ืืื ืคืืขื ืืืืืจืืช, ืืฉืชืื ืืืืคื ืืืขื ืขื ื- go ืคืงืืื, ืืืกืคืงืช ืืืืืช ืืืื ืืืฉืืจื ืืจืืฉืื ื ืืืจืืืืช ืขืืืื ืฉื ืืื ืืืจืฆืื ืจืฆืืคื ืื ืืื ืคืืชืื.
Go Vet ื ืืชื ืืืจืืื ืื ืืืืฆืขืืช ืืืืงื ืืืจืื ืจืื, ืืืืคืฉืจืื ืืชืืื ืืืฉืืช ืืืืืืช ืขื ืืื ืืคืขืื ืื ืืฉืืชื ืฉื ืื ืชืืื ืกืคืฆืืคืืื. ืืื ืืขืื ืืืืชืจ ืืืฉืจ ืืฉืชืืฉืื ืื ืืืืคื ืจืฆืืฃ ืืฆื ืืขืฆืืื ืืืืื ืืจืื ืืืืง ืืชืืืื ืคืืชืื ืืืื ื ืืืื.
ืคืขืจืื ืืืืืืฆืื ืฉื Go Vet
ืืืจืืช ืฉ-Go Vet ืืื ืืืืง ืกืืื ืืืื, ืืื ืืขืืื ืื ื ืืขื ืืกืคืง ื ืืชืื ืืงืืฃ. ืืคืชืืื ืฆืจืืืื ืืืืืช ืืืืขืื ืืืืืืืช ืืืืืช:
- ืืืงืฃ ืกืืื ืจืืื
Go Vet ืคืืขื ืืขืืงืจ ืขื ืืืืืืช ืืงืืืืืช ืืืื ื ืืืฆื ืขืฆื ืชืืืช ืฉืืืื ืื ืืจืืืืช ืืื-ืืคืืืงืฆืืืช. ืืื ืืื ื ืืืื ืืืืืช ืฉืืืืืช ืืื-ืืืืืืช, ืืคืจืืช ืืจืืืืงืืื ืืืช ืื ืชืืคืขืืช ืืืืื ืืื-ืฉืืจืืชืืืช ืืืกืืกื ืงืื ืืืืืื. - ืืื ืืืืขืืช ืืืจืืื ืกืื ืืืช
ืืืื ืืื ื ืืืื ื ืชืื ืื ืื ืฉืืื ืืืจืืื. ืืฉืืขืืช ืืืืจ ืืื ืฉืืื ืืื ื ืืืื ืืืืืช ืื ืชื ืื ืืื ืชืืื ืฉืงืจ, ืืฉืชื ื ืืื ื ืืฉืืืืฉ ืืื ืืคืื ืงืฆืืืช ืฉืื ืืช, ืื ืื ืงืจืืื ืืคืื ืงืฆืื ืืคืจื ืืช ืืืืืงืช ืืืฆื ืืืืืขืืช. ืืฆืืจื ืืืืืช ืืขืืืง ืืืชืจ, ืืืื ืืื Staticcheck ืื SMART TS XL ืืชืืืืื ืืืชืจ. - ืืืคืื ืืกืืกื ืืืงืืืืืืช
Go Vet ืืืื ื ืืชืื ืืื ืืืื ืฉื ืคืจืืืืืืืื ืฉื ืืงืืืืืืช. ืืื ืืื ื ืื ืชื ืืชื ืืืืช ืืืจืืืื ื, ืชืืืื ืขืจืืฆืื ืื ืืจืืฆื ืืืืจืื, ืืืจ ืืืืืื ืืช ืืชืืขืืช ืฉืื ืขืืืจ ืืืฉืืืื ืืืื ืืงืืืืืืช. - ืชืืื ืืช ืืืืื ืืื ืืืืืืช
ืืืื ืืื ื ืืืืขื ืืืืืช ืคืืื ืืืืื ืืืื ืงืื ืื ืืกืืื, ืืืืื ืกืจืืืืืืฆืื ืื ืืืื ืื ืืฉืืคืช ืืืฉืืจืื. ืืคืชืืื ืืืืืื ืืฉืื ืืืชื ืขื ืืืื ืืืgosecืืคืืื ืืกืจืืงืช ืคืืืขืืืืช ืืกืืกืืช. - ืืื ืืืืคืช ืืืืืช ืงืื ืื ืกืื ืื
Go Vet ืืื ื ืืื ืขืืจ. ืืื ืืื ื ืืืืฃ ืกืื ืื ืงืื, ืืืกืืืืช ืืืชื ืฉืืืช ืื ืขืืฆืื. ืขืืืจ ืืฉืืืืช ืืื, ืืืื ืืืgolangci-lint,revive, ืืgolintื ืืจืฉืื. - ืืคืฉืจืืืืช ืชืฆืืจื ืืืืืืืช
ืืืจืืช ืฉื ืืชื ืืืคืขืื ืื ืืืฉืืืช ืืืืงืืช ืืืจืื ืจืืืช ืืืืืืช, ื-Go Vet ืืกืจื ืืชืืื ืืืฉืืช ืืชืงืืืช ืฉื ืืืืื, ืชืืืื ืืชืื ืืืช ืืืืืจืืช ืขื ืืื ืืืฉืชืืฉ ืื ืฉืืืื ืขื ืืืื ืจืื ืืืชืืืื ืืืฉืืช.
ืืกืืืื, Go Vet ืืื ืืื ืงื ืืฉืงื ืืืืื ืืืืืงืช ืฉืคืืืช, ืืืฉืชืื ืืืืคื ืืืขื ืืชืืืื ืืขืืืื ืฉื ืืคืืชืื ืฉื Go. ืืืืืฅ ืืืฉืชืืฉ ืื ืืืื ืืกืืกื ืืืืืื ืืขืืืืช ืืจืืจืืช, ืื ืืฉ ืืืฉืืื ืืืชื ืขื ืื ืชืืื ื ืืกืคืื ืืื ืืงืื ืืืืืื ืืื ืื ืืื ืืช ืืงืื, ืืชืืืืงื ืืืืืืื.
ืืืืืืช
ืืืืืืช ืืื ืืคืืืงืฆืืืช Linter ืืืืจื, ื ืืชื ืช ืืืจืืื ืื ืืชื ืช ืืืืืจื ืขืืืจ Go ืฉืืืจืชื ืืฉืคืจ ืืช ืืืืฉื ืฉืืืจ ืืื ื ืืชืืืืงืช. golint ืขื ืืื ืืฆืขืช ืืืืฉืืช ืจืื ืืืชืจ, ืืืฆืืขืื ืืืืื ืืืชืจ ืืืขืจืืืช ืืืืื ืืืืจื ืืืช. Revive, ืฉื ืื ื ืืชืืืืฃ ืืืืจ, ืืืื ืืืืคืช ืกืื ืื ืืขืงืืืืช ืงืื ืืคืจืืืงืืื ืืืืจื ืืื ืฉื Go ืืืื ืืืชืคืฉืจ ืขื ืฉืืืื ืื ืืืืจืืช ืฉื ืืืคืชืืื.
ืืืช ืืืชืจืื ืืชืื ืืืืืืื ืืืืชืจ ืฉื Revive ืืื ืืืืืช ืืชืืื ืืืฉืืชืืคืชืืื ืืืืืื ืืืคืขืื, ืืืฉืืืช ืื ืืืืื ื ืืืืื ืืืืคื ืืื ืืืืืืืืื ืืืืฆืขืืช ืงืืืฅ ืชืฆืืจื. ืฆืืืชืื ืืืืืื ืืืืืืจ ืืขืจืื ืืืืื ืืฉืืื ืืืชืืกืก ืขื ืฆืจืื ืืคืจืืืงื, ืืืืืฃ ืกืื ืืจืืื ืืืื ืืืกืืืืช ืืืชื ืฉืืืช, ืืจืืฉืืช ืชืืขืื ืื ืืืื ืจืืืื. ืืื ืชืืื ืื ืืืชืืืช ืืืืื ืืืชืืืื ืืืฉืืช ืืืืฆืขืืช ืชืืกืคื Go, ืื ืฉืืืคื ืืืชื ืืืื ืืขื ืขืจื ืขืืืจ ืืจืืื ืื ืืืขืื ืืื ืื ืืืชืืื ืืช ื-linting ืืื ืืืืช ืคื ืืืืืช.
Revive ืืืืจ, ืงื ืืฉืงื, ืืืฉืชืื ืืฆืืจื ืืืงื ืขื ืฆืื ืืจืืช CI ืื ืคืืืคืืจืืืช ื ืืชืื ืกืืืืืช ืืืจืืช ืืื golangci-lintืืืกืื ืืืืืื ืฉืื ืืฉืชืจืข ืขื ืคื ื ืฉืืืืช ืขืืืื ืืืืืฆืืช ื ืคืืฆืืช, ืืืืงืืช ืกืื ืื ืืืช ืืืืืืช ืืกืืกื ืฉื ื ืืื ืืช, ืื ืฉืืืคื ืืืชื ืืฉืืืช ืืืืืื ืช ืงืื ืืืื ื ืขืืืจ ืื ืฆืืืช Go.
ืืืื ืฉ-Revive ืืืืข ืืืืืืืชืื
ืืืจืืช ืืืืฆืืขืื ืืืืืืืช ืืืืืจื ืฉืื, Revive ืืื ื ืคืชืจืื ืืงืืฃ ืื ืืชืื ืกืืื ืขืืืง. ืืืื ืืืืืืืช ืืขืืงืจืืืช ืฉืื:
- ืกืื ืื ืืืืงื ืืืืขื
Revive ืืชืืงื ืืขืืงืจ ืืืืื ืกืื ืื. ืืื ืืื ื ืืืืง ืืชื ืืืืช ืกืื ืืืช, ืืื ืืื ื ืืืฆืข ืืืืืช ืืืื ืื ืืืืื ืชืื ืืืช ืืืขืืืช ืืฉืืืืืช ืืขืืจ ืืืขืืืช ืงืืืื ืืจืืช ืืฉืื. - ืืื ืืจืืื ืื ืืืืขืืช ืืืงืฉืจ
ืืืื ืืื ื ืื ืชื ืืืฆื ืืฉืชื ืื ื ืขืื ืืงืื, ืืืฆื ืืื ื ืืงืจื ืืงืืืืื ืืื ืืจืืงืฆืื ืืื ืคืื ืงืฆืืืช, ืื ืืื ื ืชืืื ืงืื ืืื ื ื ืืืฉืื. ืืื ืชืืืื ืืืขืงื ืืืจ ืชืืืืืช ื ืชืื ืื ืื ืืืืืืืช ืืงืืืืืืช. - ืชืืื ื ืืืืืืช ืืืื ืืชื ืืืืช ืืืฉืืืื
Revive ืื ืืืื ืืืืืช ืืืืื ืขืืื ืื, ืงืืคืืื ืื ืฉืืืืฉ ืืจืขื ืืืฉืืืื. ืขืืืจ ืืฉืฉืืช ืืื, ืืคืชืืื ืืืืืื ืืืกืชืื ืขื ืื ืชืืื ืืืstaticcheckืื ืืฉืืื ืืคืืืคืืจืืืช ืืืืขืืช ืืจืืื ืืื SMART TS XL. - ืืื ืกืจืืงืช ืืืืื
ืืื ืืื ื ืืฆืืข ืืืืื ืืืชืืงืืื ืืืืืื ืื ืืืืขืืช ืืืคืืกื ืงืืืื ืื ืืืืืืืื. ืืืื ืืืgosecืื ืื ืชืืื ืืชืงืืืื ืืืชืจ ื ืืืฆืื ืืืืืื ืืืืืื. - ืืฆืืจืช ืืื ืืืชืื ืืืฉืืช ืืืจืฉืช ืืืืฅ ืงืืืื
ืืขืื ืฉืืชืืืช ืืืืื ืืืชืืืื ืืืฉืืช ื ืชืืืช, ืืื ืืืจืฉืช ืคืืชืื ืฉื ืชืืกืฃ Go, ืืืจ ืฉืขืฉืื ืืืืืช ืืืืื ืขืืืจ ืฆืืืชืื ืงืื ืื ืืืชืจ ืื ืืคืชืืื ืคืืืช ืื ืืกืื ืืืืคืฉืื ืฉืื ืืื ืชืฆืืจื ืืืืจืื. - ืื ืืืืขื ืื ืืงืื ืืืืืช ืงืื ืื ืืืืืคืช ืืจืืืืงืืืจื
Revive ืืื ื ืชืืื ืืืฆืืจืช ืืืื ืงืื, ืืืืืช ืืืืืืช ืืืจืืืืืื ืื ืืืืืืืืืฆืื ืฉื ืชืืืช. ืชืืื ืืช ืืื ื ืืจืฉืืช ืืืจื ืืื ืืืขืจืืืช ืืืืืืช ืืืชืจ ืืืืืคืืืช ืขื ืืื ืคืืืคืืจืืืช ืืขืืืช ืชืืื ืืช ืืืืืช ืืืชืจ.
Revive ืืฉืืฉ ืืฆืืจื ืืืืื ืืืืชืจ ืืืืืคืช ืกืื ืืจืืื ืกืคืฆืืคืืื ืืกืื ืื ืืงืจืืืืช ืืงืื ืฉื Go. ืืืืืจืืช ืืืืืืืช ืืืืืจื ืฉืื ืืืคืืืช ืืืชื ืืืืืจื ืืฆืืื ืช ืืฉืืืจื ืขื ืืืฉืืจ ืงื ืืื ืฆืืืชืื ืื ืืืข ืืขืืฆืื ืืืืกืืืืช, ืื ืืฉ ืืฉืื ืืืชื ืขื ืื ืชืืื ืกืื ืืืื, ืืื ืืื ืื ืืืืงืื ืืืืื ืืืืกืื ืืื ืฉื ืืกืืก ืืงืื.
ืืืืงืช ืฉืืืืืช
ืืืืงืช ืฉืืืืืช ืืื ืืื ื ืืชืื ืกืืื ืงื ืืฉืงื ืื ืืขื ืขืจื ืืืขืจืืช ืืืงืืืืืืช ืฉื Go, ืฉืชืืื ื ืืืืืื ืืื ืืืืืช ืืชื ืืชืขืืืื ืืขืจืื ืฉืืืืืช ืืืืืืจืื ืืคืื ืงืฆืืืช. ื-Go, ืืืคืื ืืฉืืืืืช ืืื ืืคืืจืฉ ืืืืื ื ืืืชืืืช ืชืืื ืืืช ืืืงืืช. ืขื ืืืช, ืืงืืื ืฉืืคืชืืื, ืืืืืื ืืืกืืกื ืงืื ืืืืืื ืื ืืืฉืชื ืื ืืืืืจืืช, ืืืืืื ืืืขืืช ืขื ืืืืงืช ืฉืืืืืช ืืืืืืจืืช ืืงืจืืืืช ืคืื ืงืฆืื. ืืื errcheck ืืืืื ืืช ืขืฆืื ืืืืขืื.
ืืืื ืกืืจืง ืืช ืืกืืก ืืงืื ืฉืื ืืืจ ืงืจืืืืช ืืคืื ืงืฆืืืช ืฉืืืืืจืืช ืขืจื ืฉืืืื ืืืืืื ืขื ืืื ืฉืืื ืืฉืืืื ืืชืขืืืช ืืฉืงื. ืืื ืคืฉืื ืื ืขืืืจ ืืฆืืืชืื ืืืืืฃ ืฉืืืืช ืืืคืื ืขืงืืืืช ืืฉืืืืืช ืืืืืื ืข ืืกืื ืืืฉืืื ืืฉืงืืื ืฉืขืืืืื ืืืกืืื ืืืืจืืขื ืืืฆืืจ.
ื ืืชื ืืืจืืฅ ืืช errcheck ืืืื ืขืฆืืื ืื ืืฉืื ืืืชื ืขื ืืืืืืช ื ืืชืื ืกืืืืืช ืืืจืืช ืืืื golangci-lintืืขืชืื ืงืจืืืืช ืืื ื ืืื ืืฆืื ืืจืืช CI ืืื ืืื ืืข ืจืืจืกืืืช ืฉื ืืืืงืช ืฉืืืืืช ืืืืืืื ืฉืืจืืื ืชืื ืืช ืืื ืชืืื ืืืฉืืจื ืืืงืืื ืืื ืืฆืืืชืื.
ืืืืจืืช ืืืืืืืช ืฉื ืืืืงืช ืฉืืืืืช
ืืขืื ืฉ-errcheck ืืฉืจืช ืืืจื ืืืืงืืช ืืืื, ืืื ืืืืข ืื ืขื ืืืืืืช ืืกืืืืืช ืฉืืฉ ืืืืืจ ืืขืช ืฉืืืืื ืืชืืืื ืขืืืื ืจืื ืืืชืจ ืฉื ื ืืชืื:
- ืืืงืฃ ืฆืจ
errcheck ืืชืืงื ืื ืืจืง ืืฉืืื ืืื ืขืจืื ืืืืจืช ืฉืืืืืช ืืชืขืืืื. ืืื ืืื ื ืืขืจืื ืืืฆื ืฉืืืืืช ืืืืคืืืช, ืืื ืื ื ืจืฉืืืช, ืขืืืคืืช ืืจืืื ืื ืืืืืจืืช ืืฆืืจื ืืืืืืืช ืื ืืืืืืชืืช ืืืฉืชืืฉ. - ืืื ืืื ื ืืงืฉืจืืช
ืืืื ืืกืจ ืืืืขืืช ืกืื ืืืช. ืืื ืืื ื ืืืื ืืืืืื ืืื ืืฉืืืืช ืืืืืืช (ืืืื ืคืกืืื ืืืืื ืช ืฉื ืฉืืืื ืืคืขื ืื ืืืืข) ืืืื ืืฉืืืืช ืืกืืื ืืช. ืืชืืฆืื ืืื, ืืื ืขืืื ืืืืฆืจ ืชืืฆืืืช ืืืืืืืช ืฉืืืืืช ืืืงืจืื ืืื ืืคืชืืื ืขืฉื ืืืืจืืช ืืืืื ืืช ืืืืฆืืงืืช. - ืื ืืชืืื ืืืืืื ืืืืื ืขืืืง
errcheck ืืื ื ืืืฆืข ื ืืชืื ืืจืืืช ื ืชืื ืื ืื ื ืืชืื ืืจืืืช ืืงืจื. ืืื ืืื ื ืืืื ืืงืืืข ืืื ืืชืขืืืืช ืืฉืืืื ืืืืืื ืืืชื ืืืืช ืืืชื ืฆืคืืื ืืืืฉื ื ืชืื ืืืืฆืืข. ืืืื ืืืจืื, ืืืstaticcheckืื ืื ืชืืื ืฉื ืชืืื ืืช ืืืื, ื ืืจืฉืื ืืื ืืืืื ืชืืคืขืืช ืืืืื ืืืื. - ืืื ืชืืืื ืืืืื ืืืช ืืืคืื ืืฉืืืืืช ืืืชืืืช ืืืฉืืช
ืื ืืืื ืืคืืืคืืจืืืช ืืื ืืืช-ืืืืื, errcheck ืืื ื ืืืคืฉืจ ืื ืืืืืืจ ืืกืืจืืืืืช ืืฉืื ืืืืคืื ืืฉืืืืืช ืื ืืกืื ืงืจืืืืช ืคืื ืงืฆืื ืืกืืืืืช ืืคืืืจืืช. ืืชืฆืืจื ืืืืืืช ืืื ืืืืืช ืืืืืืช ืื ืคืื ืงืฆืืืช ืฉืืืืช ืืคื ืฉื, ืืืจ ืฉืขืฉืื ืื ืืกืคืง ืืืืฉืืช ืืกืคืงืช ืืืขืจืืืช ืืืืืืช ืืืชืจ. - ืฉืงื ืขื ืืฉืืื ืฉืืื ื ืฉืืืืืช
ืืคืื ืงืฆืื errcheck ืื ืชืืชืจ ืฉืืืืฉ ืืจืขื ืืคืื ืงืฆืืืช ืฉืืืืชืชืืช ืขื ืืฉื ืืืืฆืขืืช ืื ืื ืื ืื ืืืจืื ืืืื ืคืื ืืงื, ืขืจืืื ืืืืืื ืืื ืืืืืจืื ืื ืงืืื ืกืืืืก. ืืื ืืืืงืช ืจืง ืืช ืื ืืืืืช ืืืฉืืืืฉ ืืกืืื ืืืืจืช ืฉืืืื.
errcheck ืืื ืืื ืืืืงื ืืืงืื ืฉืืืืช ืขืืืื ืืืืืฆืืช ืกืืื ืืืื ืืฉืืืืืช ืืืคืืจืฉืืช ืฉื Go. ืืื ืืืืืืื ืืืืง ืืฆืื ืืจ ื ืืชืื ืกืืื ืฉืืืชื ืฉืื ืืื ืืื ืืฉ ืืืจื ืกืคืฆืืคืืช. ืขืืืจ ืฆืืืชืื ืืืขืืืคืื ืืืคืื ืฉืืืืืช ืืืง ืืขืงืื, errcheck ืืฆืืข ืจืฉืช ืืืืืื ืงืืช ืืฉืงื ืืืขืืื.
ืืืกืจ ืืฉืืขืืช
ืืืกืจ ืืฉืืขืืช ืืื ืืื ื ืืชืื ืกืืื ืงืื ืื ืฉืืืืฉื ืฉื ืืขื ืืืืืช ืืงืฆืืืช ืืงืื Go ืฉืืขืืื ืื ื ืืฆืืืช ืืฉืืืืฉ. ืืื ืืกืื ืืงืจืื ืฉืืื ืืืฉืชื ื ืืืงืฆื ืขืจื, ืื ืขืจื ืื ืืืืืฃ ืืคื ื ืงืจืืืชื ืื ืฉืื ื ืืืฉ ืืืื ืืื. ืืืกืจ ืืขืืืืช ืื ืืืจื ืืื ืืื ื ืืืืื ืืืืื ืืืฆืืืข ืขื ืืืืืงื ืืชื, ืคืืงืื ืฉื ืืืคืชื ืื ืฉืืืช ืฉืืคืืฅ ืืืืฉ.
ืืืื ืคืืขื ืืืืืจืืช ืืืฉืชืื ืืงืืืช ืขื ืขืืจืืื, ืฆืื ืืจืืช CI/CD ืืืืืืืช meta-linter ืืื golangci-lintืื ืขืืืจ ืืฉืืืจ ืขื ื ืืงืืื ืืกืืกื ืืงืื ืขื ืืื ืืืืื ืคืขืืืืช ืืืืื ืืืช ืืขืืืื ืฉืืืืฉ ืงืจืื ืืืืืงื ืืืชืจ ืืืฉืชื ืื. ืืืขืจืืืช ืจืืืฉืืช ืืืืฆืืขืื ืื ืืขืจืืืช ืฉืขืืจื ืืืงืืจืช ืจืื, ืืกืจืช ืืืกืจ ืืขืืืืช ืืื ืืืืื ืื ืืชืจืื ืืชืืืืงื ืืืื ืืืชืจ ืืืืคืืชืช ืืืจืืืืช.
ineffassign ืืขืื ืืืืืื ืืคืจืืืงืืื ืืืืืื ืฉืืื ืืืืื ืืื ื ืฉื ืืขืืืช ืงืื ืฉืงื ืืืื ืืืคื ืืืืชื ืืคืฉืจื.
ืืืืืืช ืืืืงืฃ ืชืคืขืืื ืฉื ืื-ืืงืฆืื
ืืืจืืช ืืชืืขืืช ืฉืื, ineffassign ืืืืขื ืืืงืจื ืฉืืืืฉ ืฆืจ ืืืฉ ืื ืืกืคืจ ืืืืืืช ืืืืืืืืช ืืช ืชืคืงืืื ืื ืืชืื ืงืื ืืงืืฃ:
- ืืชืืงืืืช ืื ืืฉื ืืืื
ineffassign ืืืคืฉ ืจืง ืืงืฆืืืช ืืืืชืจืืช ืื ืฉืืื ื ืืฉืืืืฉ. ืืื ืืื ื ืืืื ืืืกืจ ืืขืืืืช ืืืจ ืืืื ืืืฉืืืื ืืืืชืจืื, ืืืืื โโโโืฉืืื ื ืืฉืืืืฉ ืื ืืืืืืช ืืืืชืจืืช. ืืชืืขืืช ืฉืื ืืืืืืช ืืกืื ืกืคืฆืืคื ืื ืฉื ืืืกืจ ืืขืืืืช. - ืืื ืืืืขืืช ืกืื ืืืช ืื ืืชื ืืืืชืืช
ืืืื ืืื ื ืื ืชื ืืช ืืืืืงืช ืืชืืื ืืช, ืืื ืืื ื ืืืื ืืช ืืจืืืช ืืขืจืืื ืืื ืงืจืืืืช ืืคืื ืงืฆืืืช. ืืื ืืื ื ืืืื ืืงืืืข ืืื ืืืงืฆืื ืืฉืคืืขื ืขื ืืชื ืืืืช ืืืขืจืืช ืืขืงืืคืื, ืืืื ืืืืฆืขืืช ืจืืฉืื, ืชืืคืขืืช ืืืืื ืื ืืืฉื ืืฉืชืงืคืช. - ืชืืฆืืืช ืืืืืืืช ืฉืืืืืช ืืชืจืืืฉืื ืืืจืืืื
ืืืงืจื ืฉืืืืฉ ืืชืงืืืื ืืืชืจ, ืืืื ืืงืฆืืืช ืืชืื ืขื ืคืื ืืืชื ืื, ืกืืืจืืช ืื ืืื ื ืืืืื, ineffassign ืขืืื ืืกืื ืืืืคื ืฉืืื ืืฉืชื ื ืืื ืืฉืืืืฉ. ืื ืืืจืฉ ืืืคืชืืื ืืืืช ืืื ืืช ืื ืืืคืข ืฉืกืืื ืืืื. - ืืื ืืฆืขืืช ืืืคืืืืืืฆืื ืืงืฉืจืืช
ืืืจืืช ืฉ-ineffassign ืืฆืืืข ืขื ืืืขืื, ืืื ืืื ื ืืฆืืข ืืฆืขืืช ืืชืืงืื ืงืื ืืืืฉ ืื ืชืืงืื ื ืงืื ืืืืืืืืื. ืืคืชืืื ืืืืืื ืืงืืืข ืืืืคื ืืื ื ืืืฆื ืืคืชืืจ ืื ืืืกืืจ ืืฆืืจื ืืืืื ืืืืชืจ ืืช ืืืงืฆืื ืืื ืืขืืื. - ืืชืืื ืืืฉืืช ืื ืกืื ืื ืืืืืืื
ืืืื ืืกืจ ืืคืฉืจืืืืช ืชืฆืืจื ืืชืงืืืืช. ืืื ืืื ื ืืืคืฉืจ ืืืืื ืืืืจืืช ืขืืืจ ืืฉืชื ืื, ืกืืืื ืื ืืงืฉืจืื ืฉื ืคืื ืงืฆืืืช ืกืคืฆืืคืืื. ืืืกืืกื ืงืื ืืืืืื ืื ืืืืจ ืงืืื, ืืืืจ ืขืืื ืืืืืื ืืจืขืฉ ืืืืื ืืืืื ืืืงืืจืืช.
ineffassign ืืฉืืฉ ืืฆืืจื ืืืืื ืืืืชืจ ืืืืง ืืฉืื ืงืืื ืฉื ืืืืืช ืืืืืช. ืืื ืืฆืืื ืืขืืืื ืืืืฉ ืงืื ืืืชืจ, ืกืงืืจืืช ืฉื ืืงืฉืืช ืืฉืืื ืืชืืืืื ืขืืืื ืฉื CI ืฉืืื ืฉืืืจื ืขื ืืกืืก ืงืื ืจืื ืืืืืงื ืืื ืืขืืืคืืช ืขืืืื ื. ืืงืืืช ืชืืื ื ืจืืื ืืืชืจ ืืืื ืืืฆืืขืื, ืืจืืืืงืืืจื ืื ื ืืื ืืช ืืืืืช, ืืฉ ืืืฉืชืืฉ ืื ืืฆื ืืื ื ืืชืื ืกืืื ืืงืืคืื ืืืชืจ.
gosec
gosec (ืืืืง ืืืืื ืฉื Golang) ืืื ืืื ื ืืชืื ืกืืื ืืืขืืื ืืืชืืงื ืืืืืื ืคืืืขืืืืช ืืืืื ืืงืื ืฉื Golang. ืืื ืกืืจืง ืงืืฆื ืืงืืจ ืืื ืืืืืช ืืคืืกืื ืฉืขืืืืื ืืืฉืืฃ ืืืฉืืืื ืืืืืืื ืืืืขืื ืืืื ืืืจืงืช ืคืงืืืืช, ืืืฉืืจืื ืืงืืืืื, ืฉืืืืฉ ืื ื ืืื ื-TLS, ืงืจืืคืืืืจืคืื ืืืฉื ืื ืืืืืช ืงืื ืื ืืกืืื.
gosec, ืฉืคืืชื ืืื ืืกืืืข ืืืคืชืืื ืืืขืืืจ ืืช ืืืืืื ืฉืืืื ืืชืืืื ืืคืืชืื, ืืฉืชืื ืืงืืืช ืืฆืื ืืจืืช CI, IDE ืืืคืชืืื ืืืจืืืืช ืขืืืื ืจืืืืช ืืืชืจ ืฉื ืืืืื. ืืื ืื ืชื ืืืืืืช ืกืื ืืจืืืืช ืืืืืืืช ืฉื ืฆื ืฉืืืฉื ืืืกืื ืงืื ืืชืืื ืืงืืืฆืช ืืืื ืืืืื ืืืืืจืื ืืจืืฉ. ืืืื ืืกืคืง ืืงืฉืจ ืฉืืจื ืืืจ ืฉืืจื ืืื ืืืฆื, ืืื ืขื ืืฆืขืืช ืืชืืงืื ืืกืืืืื CWE (ืกืคืืจืช ืืืืฉืืช ื ืคืืฆืืช) ืืืืคืื ืืืขืงื ืงืืื ืืืชืจ.
gosec ืชืืื ืืคืื JSON, ืชืฆืืจืช ืืืืื ืืจืืืช ืืืืจื, ืื ืฉืืืคื ืืืชื ืืชืืื ืืฆืืืชืื ืขื ืืขืื ืชืืืืืช ืืจืื ืืืืื ืืืืืขืืช ืืืืืืืืช ืืคืืืขืืืืช. ืืืืืฅ ืืคืชืจืื ืืื ืืืชืืื ืืฆืืืชื Go ืฉื ืืชื ืื ืขืืืคืืช ื-DevSecOps ืืืืืืืช ืืืืื ืืชืืฉื.
ืืืื ืฉืืฉ ื-gosec ืืงืื ืืฆืืื
ืืืจืืช ืืืืชื ืืื ืืืื ื ืืคืืชืื ืืืชืืงื ืืืืืื, ื-gosec ืืฉ ืืืืืืช ืฉืืฉืชืืฉืื ืฆืจืืืื ืืืืืช ืืืืขืื ืืื ืืขืช โโืฉืืืืฉ ืื ืืืืงืืจืช ืืขืืืงื ืื ืืจืืช ืืืจืืื:
- ืืืืื ืืืืกืก ืืืืื ืืืื
gosec ืืฉืชืืฉ ืืืชืืืช ืชืื ืืืช ืกืืืืช ืื ืื ืงืืืฆืช ืืืืื ืืืืืจืช ืืจืืฉ. ืืืจืืช ืฉืืื ืืขืื ืขืืืจ ืืขืืืช ืืืืขืืช, ืืื ืืื ื ืืืื ืืืืืช ืืคืืกื ืคืืืขืืช ืืืจืืืื ืื ืื ืืืืขืื ืืืืจืฉืื ื ืืชืื ืืชื ืืืืชื ืื ืชืืื ืืงืฉืจ. - ืืื ืืขืงื ืืืจ ืืจืืืช ื ืชืื ืื
ืืืื ืืื ื ืืืฆืข ื ืืชืื ืืืืืืื ืื ืืขืงื ืืืจ ืืฉืชื ืื ืขื ืคื ื ืงืจืืืืช ืคืื ืงืฆืื ืืจืืืืช. ืืื ืืื ื ืืืื ืืขืงืื ืืืจ ืืืืืจ ืืืืื ืฉื ืงืื ืืืฉืชืืฉ ืื ืขืจืื ืชืฆืืจื ืืจื ืืืขืจืืช, ืืืจ ืืืืืื ืืช ืืืืืชื ืืืืืช ืฉืจืฉืจืืืช ืคืจืฆืืช ืืจืืืืช ืฉืืืื. - ืืืืขืืช ืืืืืืช ืืืงืืืืืืช
ืืขืืืช ืืืืื ืื ืืืขืืช ืืชื ืื ืืจืืฅ, ืืืฉื ืืงืืืื ืื ืชืื ืื ืืฉืืชืคืื ืื ืฉืืจืืช ืืืจ (gorutines) ืืกืื ืืจื ืืช ืืฆืืจื ืื ื ืืื ื ืื ืืืืื ืขื ืืื gosec. ืืื ืืืจืฉืืช ื ืืชืื ืกืืื ืื ืืื ืื ืืขืืืง ืืืชืจ ืืื ืืืฉืืฃ. - ืชืืฆืืืช ืืืืืืืช ืฉืืืืืช ืืืชืจืืืช ืืื ืืงืฉืจ
ืืืืืื ืฉื-gosec ืืกืจ ืืงืฉืจ ืกืื ืื, ืืื ืขืฉืื ืืกืื ืงืื ืฉืืื ืืืืืื ืืืืื ื ืืื ืืช ืื ืชืืื ืืช ืืืื ื ืฉื ืชืื ืืืช ืื ืืืืืืืืช. ืืืืืื, ืืื ืขืฉืื ืืืืืืฉ ืืืจืืืืช ืคืกืืืื-ืื ืืืืืืืืช ืฉืืื ื ืจืืืฉืืช ืืคืืขื, ืื ืืืืืงืช ืืฆืคื ื ืืืืื ืื ื ืจืืืช ืื ืฉืืจืชืืช. - ืืื ืชืืื ืืช ืืืจืืืืืืช ืื ืชืฆืืจืชืืืช
ืืืื ืืื ื ืืืื ืืืขืจืื ืชืฆืืจืืช ืฉืืืืืช ืืจืืช ืืืขืจืืช, ืชืืืืืช ืื ืืืืืืืืช ืฉื ืฆื ืฉืืืฉื ืื ืฉืืืืช ืืืืื ืืงืืจืืืช ืืขื ื. ืืื ืคืืขื ืื ืืจืง ืืจืืช ืงืื ืืืงืืจ ืืืื ื ืืงืืื ืืื ืืจืืงืฆืื ืขื ืคืจืืื ืื ืืื ืื ืืืื ืืืช ืืื ืจืืฆื.
gosec ืืื ืืืง ืืืื ื ืืื ืขืจืืช ืืืื ืืืืืื ืฉื Go. ืืื ืคืืขื ืืฆืืจื ืืืืื ืืืืชืจ ืืืฉืจ ืืื ืืฉืืฉ ืืฉืืืจ ืกืฃ ืืฉืื ืืืงืื ืืืืืืจ ืืคืืชืื ืืื ืืืืืช ืคืืืื ืืจืืจืื ืืคื ื ืฉืืงืื ืืืืข ืืฉืื ืืืื ืื ืืืืฆืืจ. ืืงืืืช ืจืืช ืืืืื ืืืื ืืืชืจ, ืฆืืืชืื ืฆืจืืืื ืืฉืื ืืืชื ืขื ืกืจืืงืช ืืื ืจืืฆื, ืกืงืืจืช ืงืื ืืื ืืช ืืืืื ืืืกืืืืื ืืขืงืื ืืืจ ืืงืจื ืืขืืืงื ืืืชืจ ืืืชื ืืืืช ืืจืืืช ื ืชืื ืื.
ืืืืืื ืฆ'ืง
ืืืืืื ืฆ'ืง ืืื ืืื ื ืืชืื ืคืืืขืืืืช ืจืฉืื ืฉื Go ืฉืคืืชื ืขื ืืื ืฆืืืช Go. ืืื ืืื ืฃ ืืช ืืกื ืื ืชืื ืื ืฉื ืคืืืขืืืืช Go ืืื ืืืืืช ืคืืื ืืืืื ืืืืขืื ืืชืืืช ืืงืื ืฉืื ืืืฉืืืืฉ ืกืื ืืจืื ืืกืคืจืืื. ืืืงืื ืืกืจืืง ืืืจ ืืคืืกืื ืื ืืืืืืืื ืืงืื ืืืงืืจ ืืื gosec, govulncheck ืืชืืงื ืืฉืืื ืืื ืืคืจืืืงื ืฉืื ืืืืื ืืืืืืช ืฉืืืืื ืืคืืืื ืืคืืืขืืช.
ืืืื ืืืฆืข ื ืืชืื ืกืืื ืื ืืชืื ืืืืกืก ืงืจืืืืช. ืืฉืืขืืช ืืืืจ ืืื ืฉืืื ืื ืจืง ืืคืจื ืืืืืืื ืืืฉืคืขืื; ืืื ืืืื ืฆืขื ืงืืืื ืขื ืืื ืืืืืช ืืื ืืงืื ืืคืืืข ืืื ื ืืชื ืืืืฉื ืื ืชืืื ืืงืจืืื ืฉื ืืืคืืืงืฆืื ืฉืื. ืื ืืคืืืช ืจืขืฉ ืืืืคื ืืช ืืืชืจืืืช ืื ืืืฉืืช ืืจืื ืืืชืจ ืืืฉืจ ืกืืจืงื ืชืืืช ืืกืืจืชืืื.
govulncheck ืืฉืืื ืืืื ืขื ื- go ืืคืงืืื ืชืืืืช ืืืืืืืื ืืืชืืืืช ืื ืืื, ืืืืืขืืช ืื ืืืืื ืืช ืืคืชืืื ืืื ืืืขืจืืืช CI. ืืคืื ืฉืื ืืืื ืืืื CVE, ืชืืืืจื ืคืืืขืืืืช, ืกืืืื ืืืฉืคืขืื ืืืกืืจืืืืืช ืชืืงืื ืืืฆืขืืช ืืืื ืฉืืจืื ืืจืกืืืช ืืืืื ืกืคืฆืืคืืืช.
ืืืืืืช ืืืืืืืช ืฉื govulncheck
ืืขืื ืฉ-govulncheck ืืกืคืง ืฉืืื ืืฉืืื ืฉื ืืืงืืจืช ืชืืืืืช ืืืืืืืืช, ืืืงืคื ืืฆืืืฆื ืืืืืื. ืจืืื ืืฆืืื ืืช ืืืืืืืช ืืืืืช ืขืืืจ ืฆืืืชื ืคืืชืื ืืืืืฆืื ืืืชื ืืืืง ืืืกืืจืืืืืช ืืืืื ืจืืื ืืืชืจ:
- ืืืื ืจืง ืคืืืขืืืืช ืืืืขืืช
govulncheck ืืื ื ืืืื ืืืืืช ืคืืืขืืืืช ืืื ืืคืก ืื ืืขืืืช ืฉืืจื ืืืืื ืืืกื ืื ืชืื ืื ืฉื ืืคืืืขืืืืช ืฉื Go. ืืขืืืืชื ืชืืืื ืืืืืืื ืืืื ืืืฉืืืืช ืฉื ืืืืขืืช CVE ืืืืืขืืช ืืืขืืฅ ืฉืคืืจืกืื. - ืืื ืืืืื ืฉื ืืคืืกื ืงืื ืื ืืืืืื
ืืืื ืืื ื ืืืืง ืืช ืงืื ืืืงืืจ ืฉืื ืืืืชืืจ ืชืื ืืืช ืืืืื, ืคืืืื ืืืืืื ืื ืฉืืืืช ืขืืืื ืืกืืื ืืช. ืืขืืืช ืืืื ืกืืืืช ืงืฉืืืื, ืฉืืืืืช ืฉืื ื ืืืงื ืื ืงืจืืคืืืืจืคืื ืืืฉื ืืขืืจื ืืขืื ืื ืืื ืื ืื ืื ืืืง ืืืืืื ืคืืืขื ืืืืขื. - ืืืืืืื ืกืืืืื ืืขืื ืืืงืฃ ืืืืื ืืฉืืืืฉ
govulncheck ืื ืชื ืจืง ืืืืืืื ืฉื Go. ืืื ืืื ื ืืืืง ืกืคืจืืืช ืืขืจืืช, ืชืืืืืช C ืืจื cgo, ืื ืงืืฆืื ืืื ืืจืืื ืืืฆืื ืืื ืฉืขืืืืื ืืืื ืืก ืคืืืขืืืืช ืืกืืืืช ืืื ืืจืืฆื ืฉืื. - ืขืืื ืืืืืืฅ ื ืืฆืื ืขืงืืฃ ืืืื ืจืืฆื
ืืืืืื ืฉืืื ืืกืชืื ืขื ื ืืชืื ื ืืืฉืืช ืกืืื, ืืืื ืขืืื ืืคืกืคืก ืคืืืขืืืืช ืฉืืืคืขืืืช ืจืง ืืืืฆืขืืช ืืขืื ื ืืื ืืืช, ืืฉืชืงืคืืช, ืืขืจืืืช ืชืืกืคืื ืื ืฉืื ืืืื ืืชืฆืืจืช ืืื ืจืืฆื. - ืคืขืจืื ืืืืกืื ืืืคืืืืจ ืืกื ื ืชืื ืื
ืืืจืืช ืฉืืกื ืื ืชืื ืื ืฉื ืืคืืืขืืืืช ืฉื Go ื ืฉืืจ ืืืื, ืืื ืขืฉืื ืืคืืจ ืืืจื ืืขืงืื ืืืืื ืจืืืื ืืืชืจ. ืคืจืืืงืืื ืขื ืกืคืจืืืช ืื ืกืื ืืจืืืืช ืื ืคื ืืืืืช ืขืฉืืืื ืืงืื ืืืกืื ืืืงื ืื ืืื ืืชืจืืืช ืืื.
govulncheck ืืืืืฅ ืืฉืืืืฉ ืืืืง ืฉืืจืชื ืืชืืืื ื ืืืื ืืชืืืืืช ืฉืื. ืืื ืืกืคืง ืชืืื ืืช ืืืืจืืช ืืืืื ืืช ืืืื ืืื ืืกืืก ืืงืื ืฉืื ืืืฉืคืข ืืคืืื ืืืืื ืืืืขืื ืืืื ืคืืืื ืืื ื ืืชื ืื ืื ืืฆืื ืืืืคื ืืฆืืืืชื. ืืืื ื ืืืื, ืืฉ ืืฉืื ืืืชื ืขื ืกืจืืงืช ืืืืื ืืจืืช ืืงืื ืื ืืืื ืคืืืขืืืืช ืชืคืขืืืืืช.
Semgrep (ืขืืืจ Go)
Semgrep ืืื ืืื ื ืืชืื ืกืืื ืืืืฉ ืืืขืื ืืืืชืจ ืืชืืื ื-Go ืืื ืฉืคืืช ืจืืืช ืืืจืืช. ืืื ืืฉืื ืืช ืคืฉืืืช ืืชืืืช ืืชืื ืืืช ืฉื ืืืื ืืื grep ืขื ืืืื ื ืืืื ืืช ืฉื ืื ืชืืื ืกืืืืื ืืืืจื ืืื. ืืืืฆืขืืช ื ืืชืื ืขืฅ ืชืืืืจ ืืืคืฉื (AST), Semgrep ืืืคืฉืจ ืืืคืชืืื ืืืฆืืจ ืื ืืืืฉื ืืืืื ืืืืืงืื ืืืืืื ืชืื ืืืช ืืืืืกืกืืช ืขื ืืื ื ืงืื ืืื ืจืง ืขื ืืงืกื ืืืืื.
ืืคืจืืืงืืื ืฉื Go, Semgrep ืืฉืืฉ ืืขืชืื ืงืจืืืืช ืืืืืคืช ื ืืืื ืงืืืื ืืืืืืืื, ืืืืืช ืื ืืืืช ืืืจืืืืืืช ืืกืืืื ืืขืืืช ืกืื ืื ืืืช ืื ืคืื ืงืฆืืื ืืืืช. ืืื ืืฆืืข ืืืฉื ืืกืคืจืืื ืืืืืช ืืืืื ืฉื ืืืืื ืกืคืฆืืคืืื ื-Go ืืืืคืฉืจ ืืฆืืืชืื ืืืชืื ืืืืงืืช ืืืชืืืืช ืืืฉืืช ืืืืฆืขืืช ืชืืืืจ YAML ื ืงื ืืงืจืื. ืื ืืงื ืขื ืืืฉืืจ ืืืืงืืช ืืืืืช ืงืื ืขื ืืืื ืืืช ืคืืชืื ืคื ืืืืช.
Semgrep ืืฉืชืื ืืืื ืืืจืืืืช ืขืืืื ืืืืืืืืืช. ืืื ืคืืขื ืืืืืจืืช ืืืื ื ืืืจืฉ ืงืืืคืืืฆืื, ืื ืฉืืืคื ืืืชื ืืืืืืืื ืขืืืจ ืืืืืืช ืืฉืื ืืืืจืืช ื-pre-commit hooks, ืืืืืืฆืื ืฉื ืืงืฉืืช ืืฉืืื ืืืขืจืืืช ืืื ืืืจืฆืื ืจืฆืืคื. ืืืฉืง ืืฉืืจืช ืืคืงืืื (CLI) ืื-API ืฉืื ืืืืืืชืืื ืืืคืชืืื, ืืืื ืืกืคืง ืืืืื ืื ืืขืฉืืื ืฉืงื ืืืืื ืืืชืงื.
ืืืืืืช ืืชืืืืื ืฉืืฉ ืืงืืช ืืืฉืืื ืืขืช โโืฉืืืืฉ ื-Semgrep ืขืืืจ Go
ืืืจืืช ืฉ-Semgrep ืืื ืจื ืขืืฆืื ืื ืืชื ืืืชืืื, ืืืจืืืืงืืืจื ืฉืื ืืฆืืื ืืกืคืจ ืืืืืฆืื ืฉืืฉืืืื ืืฆืืืชืื ืืืกืชืืืื ืขืืื ืืฆืืจื ื ืืชืื ืกืืื ืืคืจืืืงืืื ืฉื Go.
Semgrep ืืื ื ืืืฆืข ื ืืชืื ืฉื ืชืืื ืืช ืฉืืื. ืืื ืืขืจืื ืืคืืกืื ืืชืื ืืืืื ืงืื ืืงืืืืื ืื ืืื ื ืขืืงื ืืืจ ืงืจืืืืช ืคืื ืงืฆืื ืืื ืงืืฆืื ืื ืืืืืืช. ืขืืืื ืื ืืื ื ืืชืืืื ืืืืืื ืืขืืืช ืืืจืืืืช ืืืืจืฉืืช ืืื ืจืื ืืืชืจ ืขื ืืกืืก ืืงืื, ืืืื ืืื ืืจืืงืฆืืืช ืืื ืคืื ืงืฆืืืช ืืืืงืจื-ืฉืืจืืชืื ืืืืืจืื ืื ืืืฉืืืื ืืจืืื ืฉืืืืช.
ืืื ืื, ืืกืจื ืชืืืื ืืืจืืืช ืืงืจื ืืื ืืชืื ืืจืืืช ื ืชืื ืื. ืืฉืืขืืช ืืืืจ ืืื ืฉ-Semgrep ืืื ื ืืืื ืืขืงืื ืืืจ ืืืืคื ืฉืื ื ืชืื ืื ืขืืืจืื ืืื ืคืื ืงืฆืืืช ืื ืืืฆื ืงืื ืืฉืชืืฉ ืขืฉืื ืืืฉืคืืข ืขื ืคืขืืืืช ืจืืืฉืืช. ืืืื ืืืืฆืขืื ื ืืชืื ืืชื ืื ืืื ืื ืืจืคื ืืืฆืืข ืืชืืืืื ืืืชืจ ืืืฉืืคืช ืคืืืขืืืืช ื ืกืชืจืืช ืื ืืืขืงื ืืืจ ืืจืืืืช ืงืื ืื ืืืืืืช.
ืชืืฆืืืช ืืืืืืืช ืฉืืืืืช ืืืืืืช ืืืืืช ืืืื ืื ืืืืืื ื ืืชืืื ืืืืคื ืืืื ืืื. ืืขืืืืชื ืฉื Semgrep ืชืืืื ืืืืื ืจืื ืืืืืืช ืืืืืื. ืืคืชืืื ืืืืืื ืืืืืง ืืืชืืืง ืืงืคืืื ืืขืจืื ืืืืื ืืืชืืืื ืืืฉืืช ืืื ืืื ืืข ืจืขืฉ ืืืืื ืื ืกืืืื ืฉืืื ืฉื ืงืื ืืืืืื.
ื ืืชืื ืืงืืืืืืช ืืื ืชืืื ื ืืกืฃ ืฉืื Semgrep ืืืงื ืืืกืจ. ืืื ืืื ื ืืืื ืืืื ืฉืืจืืช ืืืจ, ืชืงืฉืืจืช ืขืจืืฆืื ืื ืชื ืื ืืจืืฅ. ืืืฉืืื Go ืืืกืชืืืื ืืืืื ืจืื ืขื ืืคืืกื ืืืฆืืข ืืงืืืืื ืืืจืฉื ืืืื ืกืืืืื ืขืืืงืื ืืืชืจ ืืื ืืืขืจืื ืืืืืื ืืื ืืฆืืจื ื ืืื ื.
ืืืกืืฃ, ืชืืืืงืช ืืืื Semgrep ืืืกืืคื ืืืฆืืืช ืืจืืืืช ืืืื. ืืื ืฉืืงืื ืืชืคืชื ืืกืคืจืืืช ืืืฉืืช ืืืฆืืืช, ืืืชืื ืฉืืืื ืฆืืจื ืืขืืื ืื ืืืจืืื ืืช ืืืืืื ืืงืืืืื. ืืื ืขืืืื ืงืืืข, ืืืืื ืืืืฉื ืื ืขืืืืื ืืคืกืคืก ืืขืืืช ืงืจืืืืืช ืื ืืกืื ืืขืืืช ืื ืจืืืื ืืืืช.
Semgrep ืืชืืืื ืืืืชืจ ืืฆืืืชืื ืืืขืื ืืื ืื ืืืืืงืืช ืืืืจืืช ืืืืืงืืืช ืฉื ืืคืืกื ืงืื ืกืคืฆืืคืืื, ืืืืื ืืืงืื ืฉื ืกืืืื ืื ืืืืขืื ืืืืืคื ืืืืฉื ืฉื ืกืื ืืจืืื ืฉื ืงืืืื ืฆืืืชื. ืืืฉืจ ืืฉืชืืฉืื ืื ืืื ืขื ืคืืืคืืจืืืช ื ืืชืื ืกืืื ืืชืงืืืืช ืืืชืจ, ืืื ืืืืื ืืกืคืง ืฉืืื ืืฉืืื ืฉื ื ืจืืืช ืืืงืจื ืขื ืืืืืช ืืคืืชืื ืืืืืืืืืช.
CodeQL (ืขืืืจ Go)
CodeQL ืืื ืื ืืข ื ืืชืื ืกืืื ืจื ืขืืฆืื ืฉืคืืชื ืขื ืืื GitHub, ืฉื ืืขื ืืืืืช ืคืืืขืืืืช ืงืื ืืืจืืืืช ืืืืฆืขืืช ืืืฉื ืืกืื ืื ืืกื ื ืชืื ืื. ืืื ืคืืขื ืขื ืืื ืืคืืืช ืงืื ืืงืืจ ืืืืื ื ืชืื ืื ืืืกื ืฉื ืืชื ืืืฆืข ืขืืื ืฉืืืืชืืช ืืืืฆืขืืช ืฉืคื ืืืืื ื-SQL. ืขืืืจ ืคืจืืืงืืื ืฉื Go, CodeQL ืืืคืฉืจ ืฉืืืืชืืช ืกืื ืืืืช ืขืืืงืืช ืขื ืคื ื ืืจืืืช ืืงืจื, ืืจืืืช ื ืชืื ืื ืื ืชืืื ืืืฆืืข ืืื-ืคืจืืฆืืืจืืื.
ืื ืืืื ืืกืืจืงืื ืงืืื ืื ืกืืจืงืื ืืืืกืกื ืืืืื, CodeQL ืืืคืฉืจ ืืืืงืจื ืืืืื ืืืืคืชืืื ืืืชืื ืฉืืืืชืืช ืืืชืืืืช ืืืฉืืช ืืืืืืืช ืืคืืกื ืคืืืขืืืืช ืกืคืฆืืคืืื ืืืืชืจ. ืืื ืืฉืืฉ ืื ืืกืจืืงืช ืืืืื ืจืฆืืคื ืืื ืืืืงืจ ืคืืืขืืืืช ืคืจืืืงืืืื ืืืกืืกื ืงืื ืฉื ืงืื ืคืชืื ืืืจืืื ื.
ืืืืฉืืื Go, ื ืืชื ืืืฉืชืืฉ ื-CodeQL ืืื ืืืืืช ืคืืื ืืืจืงื, ืฉืืืืฉ ืื ืืืืืื ื-API, ืืืืืช ืงืื ืืกืจ ืื ืืืฉื ืืืฉืืืื ืจืืืฉืื. ืื ืืชืื ืฉืื ืืฉืชืจืข ืขื ืคื ื ืืืืืืช, ืคืื ืงืฆืืืช ืืืืืืืื, ืืืืคืฉืจ ืชืืื ืืช ืืืื ืืืืคื ืฉืื ืืฉืชื ืื ืืืขืืจืื, ืืืืืชืื ืื ืฆืจืืื ืืืืจื ืืกืืก ืืงืื. ืืื ืืฉืืื ืืืืคื ืืืืง ืขื GitHub Advanced Security, ืืืื ืชืืื ืื ืืืจืืืืช ืขืืืื ืืงืืืืืช ืฉื ืคืืชืื ืืจื ืืืฉืง ืฉืืจืช ืืคืงืืื ืฉื CodeQL.
ืืืืืืช ืืฉืืงืืืื ืืขืช ืฉืืืืฉ ื-CodeQL ืขืืืจ Go
ืืขืื ืฉ-CodeQL ืืื ืืื ืืืืื ืืืชืงืืืื ืืืืชืจ ืื ืืชืื ืกืืื, ืืฉื ื ืืืืืืช ืืฉืืืืช ืฉืืคืชืืื ืฆืจืืืื ืืืืืจ ืืขืช ืืืฉืืื ืืคืจืืืงืืื ืฉื Go.
ื-CodeQL ืืฉ ืขืืืง ืืืกืื ืฉืคื ืืืืื ืขืืืจ Go ืืืฉืืืื ืืชืืืื ืฉืื ื-C, C++, Java ืื JavaScript. ืืืชืื ืฉืชืืื ืืช ืืกืืืืืช ืฉื Go, ืืืื ืืคืืกื ืืงืืืืืืช ืกืคืฆืืคืืื ืื ืคืขืืืืช ืืืืกืกืืช ืืฉืชืงืคืืช, ืื ืืขืืฆืื ืืืืืื ืื ืื ืืชืืื. ืืชืืฆืื ืืื, ืืชื ืืืืืืช ืืื ืืืืช ืืกืืืืืช ืื ืคืืฆืืช ืืืืฉืืื Go ืื ืื ืืชืื ืืืืืง ืืื.
ืขืงืืืช ืืืชืงื ื ืืืืืืื ืฉื CodeQL ืืืืื ืืืืืช ืืฉืืขืืชืืช. ืืชืืืช ืฉืืืืชืืช ืืืชืืืืช ืืืฉืืช ืืืจืฉืช ืืืืจืืช ืขื ืฉืคืช ืืฉืืืืชืืช ืฉื CodeQL ืืืื ื ืฉื ืืืืคื ืฉืื ืืืื ืืกื ืื ืชืื ืื ืืืืคืฉื ืืืืฆื ืืช ืงืื ืืืงืืจ. ืืขืื ืฉืฉืืืืช ืืืื ืืช ืืจืืฉ ืืืื ืืช, ืฆืืืชืื ืฉืจืืฆืื ืืืืช ืืขืืจ ืืืืืงืืช ืืจืืจืช ืืืื ืืฆืืจืื ืืืฉืงืืข ืืื ืืืืืืช ืืชืืืืจ ืืืืชืืืช ืฉืืืืชืืช ืืืืืืช ืืืืฆืืขืืืช.
ืืืฆืืขืื ืื ืฉืืงืื ื ืืกืฃ. ืืืืืื ืฉ-CodeQL ืืืืฆืจ ืืกื ื ืชืื ืื ืืื ืืงืื ืืืงืืจ ืฉืื, ืื ืืชืื ืฉืื ืืืจืฉ ืืฉืืืื ืจืืื ืืืชืจ ืืืืื ืฉืคืืขืืื ืืฉืืจืืช ืขื ืงืืฆื ืืงืืจ. ืืืกืืกื ืงืื ืืืืืื ืืืชืจ ืฉื Go, ืื ืืื ืื ืืชืื ืฉื ืืกื ื ืชืื ืื ืื ืืืืืื ืืงืืช ืืืืช ื ืืืจืช ืฉื ืืื ืืืืืจืื.
ืื ืืชืื ืืกืืื ืฉื CodeQL ืื ืืื ื ืืืื ืืชื ืืืืช ืืืื ืจืืฆื. ืืื ืืื ื ืืืื ืืืืืช ืืขืืืช ืกืคืฆืืคืืืช ืืชืฆืืจื ืื ืคืืืขืืืืช ืฉื ืืฆืจื ืืืืฆืขืืช ืืขืื ื ืืื ืืืช, ืชืืกืคืื ืืืืืจื ืืฉืชืืฉ ืื ื ืชืื ืื ืฉืืืืจืงื ืืืื ืจืืฆื. ืขืืืื ืืฉ ืืืขืจืื ืกืืืื ืื ืืื ืืืืฆืขืืช ื ืืชืื ืืื ืื ืื ืืื ืชืฆืคืืช ืืืื ืจืืฆื.
ืืืกืืฃ, ืืืื ืืืจืฆืื ืฉื CodeQL ืขื GitHub Advanced Security ืืืื ื ืจืง ืืชืืื ืืืช ืืจืืื ืืืช, ืืืจ ืฉืขืฉืื ืืืืืื ืืช ืืืืฉื ืืฆืืืชืื ืฉืืื ื ืืฉืชืืฉืื ื-GitHub ืื ืขืืืืื ืชืืช ืจืืฉืืื ืืช ืงืื ืคืชืื. ืืขืื ืฉืืืื ืืืื ืืฉืืืืฉ ืืงืืื, ืฉืืืื ืืื ืฉื ืฆืื ืืจ CI/CD ืขืฉืื ืืืจืืฉ ืืืืฅ ืชืฆืืจื ื ืืกืฃ.
CodeQL ืืชืืื ืืืืชืจ ืืฆืืืชืื ืืืชืืงืืื ืืืืืื, ืงืืืฆืืช ืคืืชืื ืืืืืื ืืช ืืืงืจ ืืืืฉืืื Go ืืงื ื ืืืื ืืืื ืฉืืื ืืืืื ืืขืืืง ืฉื ืคืืืขืืืืช ืืื ืืจืืฉ ืกืืจ ืืขืืืคืืืืช. ืืื ืืฉืืื ืืช ืืขืจืืืช ื-linter ืืืกืืจืชืืืช ืขื ืืื ืืชื ืืจื ืืืืืื, ืืืืืช ืืืื ืืข ืฉืืืืืช ืืืืืืช ืืืจืืืืช ืืคืืื ืืืืื ืฉืืืจืช ืืื ื ืขืืืื ืืขืื ืื.
SonarQube (ืขื ืชืืกืฃ Go)
soundQube ืืื ืคืืืคืืจืื ื ืคืืฆื ืื ืืชืื ืกืืื ืืืืืืช ืงืื, ืืืืืขื ืืืืืืช ืืืืืื ืื ืืืจืืืืื ืฉืื, ืืขืงื ืืืจ ืืืืืช ืืื ืืื ืืืืืืืช ืืืืงื ืจืฆืืคื. ืขื ืืชืงื ืช ืืชืืกืฃ Go, SonarQube ืืจืืืื ืืช ืืืื ืืืืขื ืฉืื ืืคืจืืืงืืื ืฉื Golang, ืืืืคืฉืจืช ืืฆืืืชืื ืื ืืจ ืชืืืืงื, ืืืืื ืืจืืืืช ืงืื ืืฆื ืฉืคืืช ื ืชืืืืช ืืืจืืช ืืกืืืื ืืืืืืช.
ืขืืืจ ืืกืืกื ืงืื ืฉื Go, SonarQube ืืกืคืงืช ืกืจืืงื ืืืืืืืืช ืฉื ืืขืืืช ืืงืฉืืจืืช ืืืืจืืืืช ืงืื, ืกืืืื ื ืืืืื, ืืคืจืืช ืกืื ืื ืืืคืืกื ืืืืื ืืกืืกืืื. ืืืืฉืง ืืืืกืก ืืืื ืืจื ื ืฉืื ืืฆืืข ืืืืืืืืืฆืืืช ืืืืืืช ืืืืืช ืงืื, ืืืืื ื ืงืืืืช ืืืืช, ืืืื ืืคืืืืืืช ืืืขืงื ืืืกืืืจื, ืฉืืืืืื ืืขืืืจ ืืฆืืืชืื ืืงืืืข ืืขืืื ืืืืืื ืืฉืืคืืจ.
SonarQube ืืฉืชืื ืื ืขื ืืขืจืืืช CI/CD ื ืคืืฆืืช ืจืืืช, ืืืื Jenkins, GitHub Actions ื-GitLab CI. ืื ืืืคืฉืจ ืืฆืืืชื Go ืืืืืฃ ืืืฉื (gateing) ืืืชืืกืก ืขื ืืืืจืช ืืืขืื ืื ืกืคื ืืืืืืช ืืืงืื ืืฉืื ืืืื ืืืช ืืืืื ืกืงืืจืช ืืงืื. ืืื ืชืืื ืื ืืชืื ืืจืืช ืืกื ืืฃ, ืฉืืืื ืืงืฉืืช Pull Request ืืืืืืืฆืื ืฉื ืืืฉื ืืืืืืช, ืื ืฉืืืคื ืืืชื ืืชืืื ืืฆืืืชืื ืืืืืื ืืืชืจ ืืืกืืืืืช ืืจืืืืช ืืืืจืื.
ืืืืืืช ืืืืืืฆืื ืฉื SonarQube ืขืืืจ Go
ืืืจืืช ืฉ-SonarQube ืืฆืืขื ืชืืื ืืช ืืฉืืืืช ืืืื ืืืืืช ืงืื Go, ืืฉื ื ืืกืคืจ ืชืืืืื ืฉืืื ืชืืื ืืช ื ืืชืื ื-Go ืฉืื ืคืืืช ืืงืืคืืช ืืืชืืืื ืฉืื ืืฉืคืืช ืืืจืืช.
ืชืืกืฃ Go ืืกืคืง ืืจืืข ืจืง ื ืืชืื ืกืืื ืืกืืกื ืืืฉืืืื ืืื ืฉืืืื ืขืืืจ Java ืื C#. ืืื ืืกืจ ืืืืงืืช ืกืื ืืืืช ืขืืืงืืช ืืืชืจ ืืืื ื ืืชืื ืืจืืืช ื ืชืื ืื ืืชืงืื, ืืขืงื ืืืจ ืืจืืืช ืืงืจื ืืื-ืคืจืืฆืืืจืืช ืื ืืืืื ืืืืืงื ืืืืข ืืืงืืืืืืช. ืื ืืืืื ืืช ืืชืืขืืช ืฉืื ืืืืืื ืืืืื ืืืจืืืื ืื ืืคืจืืช ืืจืืืืงืืื ืืืช ืืืขืจืืืช Go ืืืจืืืืช ืืืชืจ.
ืืืกืื ืืืืืื ืืืืื ืืืืืื ืืืืืจืื ืืจืืฉ ืืืื ื ืืืื ื ืืชืื ืืืืืืื ืื ืฉืจืฉืืจ ืคืืืขืืืืช. ืืขืื ืฉ-SonarQube ืืืื ืืกืื ืืคืืกื ืืืืื ืืจืืจืื, ืืื ืืื ื ืืืื ืืืฆื ืงืื ืื ืืืื ืืืจื ืืจื ืคืื ืงืฆืืืช ืื ืืืฆื ืืกืคืจ ืงืจืืืืช ืฉื ืจืืืช ืืืืืืช ืขืฉืืืืช ืืืฉืชืื ืื ืชืื ืืืฆืืข ืืกืืื.
ืืชืืืื ืืืื ืื ืกืคืฆืืคืืื ื-Go ืืืื ืฉืืจืืช ืืืจ, ืขืจืืฆืื ืื ืฉืืืืฉ ืืืืืืืื ืืืืฉืงืื ืืื ืืืกืืช ืฉืืืืช. ืืคืืืคืืจืื ืืื ื ืืืื ืืชื ืืืืช ืื-ืืื ืืช ืื ืืืื ืชื ืื ืืจืืฅ, ืืืื ืกืชืื ืื ืกืื ืืช ืืจืืืืช-ืืืืืื ืืืจืืช. ืืฉืฉืืช ืืื ื ืคืืฆืื ืืืืฉืืื Go ืืืฉ ืืืคื ืืื ืืืืฆืขืืช ืืืื ืืืืืืื ืืืชืจ.
ืคืืชืื ืืืืื ืืืชืืืื ืืืฉืืช ืืคืฉืจื ืื ืืื ื ืืืืฉ ืื ื ืืืฉ ืืื ืืืืื ืืื Semgrep ืื CodeQL. ืฆืืืชืื ืืืกืชืืืื ืขื ืกืื ืืจืืื ืืืชืืืื ืืืฉืืช ืฉื ืืืืืช ืขืฉืืืื ืืืชืงืฉืืช ืืืชืจ ืืืืฉื ืืืืืืื ืืืชืืืื ืืืฉืืช ืขืืืจ ืืงืจื ืืฉืืืืฉ ืืกืคืฆืืคืืื ืฉืืื.
ืืืฆืืขืื ืืคืจืืืงืืื ืืืืืื ืฉื Go ืืืืืื ืื ืื ืืืืืช ืืืื. ืื ืืข ืื ืืชืื ืฉื SonarQube ืฆืืจื ืืฉืืืื ื ืืืจืื, ืืืืืื ืืขืช ืกืจืืงืช ืืกืคืจ ืขื ืคืื ืื ืืืืจืื ืืืงืืื. ืชืื ืื ืืืืืื ืื ืชืฉืชืืืช ืขืฉืืืื ืืืืืช ื ืืืฆืื ืืื ืืืฉืื ืชืืฆืืืช ืืืคืืืืืืืช.
SonarQube ืืชืืื ืืืืชืจ ืืฆืืืชืื ืืืืคืฉืื ืคืืงืื ืืจืื ืืืืื ืขื ืืืืืช ืงืื Go, ืืืืืื ืืกืืืืืช ืฉืืืจ ืืฉืชืืฉืืช ื-SonarQube ืขืืืจ ืฉืคืืช ืืืจืืช. ืืื ืืกืคืง ืชืฆืืื ื ืงืืื ืืืจืืืืช ืฉื ืืื ืืื ื, ืืืืืช ืืขืืืช ืืืจืืืืช ืืกืืก ืืงืื, ืื ืืฉ ืืืฉืืื ืืืชื ืขื ืื ืชืืื ืืืืงืืื ืืืชืจ ืืื ืืืฉืื ืืืกืื ืกืื ืื ืืืืืื ืืื ืืืืฉืืื Go.
ืื-ืงืจืืืืง
ืื-ืงืจืืืืง ืืื ืืื ื ืืชืื ืกืืื ืฉืคืืชื ืืื ืืืฉืืื ืืืืงืืช ืชืืืืจ ืืืจืืช ืฉื Go ืขื ืืื ืืืชืืจ ืืขืืืช ืืชืงืืืืช ืฉืืขืชืื ืงืจืืืืช ืืคืกืคืกืืช ืขื ืืื ืืืืงื ืชืืืืจ ืคืฉืืืื ืืืชืจ. ืืื ืืกืคืง ืืขืจื ืขืฉืืจ ืฉื ืืืืงืืช ืืืืืื ืืช ืืกืื ืื ืงืื, ื ืืื ืืช, ืืืฆืืขืื ืืงืจืืืืช. ืื ืืืื ืืืืื ืืืชืืงืืื ืืืืื ืขืืฆืื ืจืืืืื, Go-Critic ืืฉืชืืฉ ืืืืืข ืขื ืกืืืื ืืื ืืชืื ืืื ื ืืื ืืืฉืืฃ ืืืกืจ ืืขืืืืช ืขืืืง ืืืชืจ ืืคืืืื ืืืืืื ืืงืฆื ืืืงืจืื.
ืืืื ืืืืข ืขื ืจืฉืืื ืืืืืช ืืืืื ืฉื ืืืืงืืช, ืืืื ืืืืื ืืชื ืืื ืืืืชืจืื, ืืงืฆืืืช ืื ืืขืืืืช, ืืขืืืช ืืืจืช ืกืืืื ืืืืฉืงืื ืืฉืืืืฉ ืืจืขื. ืืื ืืืง ืืืืืื ืืืืืื ืืขืืืืช ืื ืืจืืจืืช ืฉืขืืืืืช ืืืืืื ืืืชื ืืืืช ืืืชื ืฆืคืืื, ืืืื ืฉืืืืฉ ืืืงืืื ืขืจื ืืืฉืจ ืฆืคืืืื ืืงืืื ืืฆืืืขืื ืื ืื ืืืช ืืืืจืืื ืฉื ืคืจืืกืืช ืืฆืืจื ืื ืืขืืื.
ื ืืชื ืืืคืขืื ืืช Go-Critic ืืืืคื ืขืฆืืื ืื ืืฉืื ืืืชื ืืืกืืจืืช ื ืืชืื ืกืืืืืช ืืืืืืช ืืืชืจ ืืื golangci-lintืืื ื ืืชื ืืืืืจื, ืชืืื ืืืคืขืื ืื ืืฉืืชื ืฉื ืืืืงืืช ืกืคืฆืืคืืืช, ืืืฆืืข ืืืืขืืช ืืคืืจืืืช ืขื ืืคื ืืืช ืืจืืจืืช ืืืืืจ ืืืขืื ืืชืืงืื ืื ืืืืืฆืื.
ืืืืืืช ืืฉืืงืืืื ืืขืช ืฉืืืืฉ ื-Go-Critic
ืืขืื ืฉ-Go-Critic ืืืกืืฃ ืขืืืง ืืฉืื ืืกืงืืจืช ืงืื ืกืืืืช, ืืขืืฆืื ืฉืื ืืฆืื ืืื ืืืืืืช ืฉืืคืชืืื ืฆืจืืืื ืืฉืงืื ืืคื ื ืฉืื ืืืืฆืื ืืืชื ืืืื ื ืืชืื ืขืืงืจื.
ืืืื ืืื ื ืืืฆืข ื ืืชืื ืืื ืฉื ืืจืืืช ื ืชืื ืื ืื ืืจืืืช ืืงืจื. ืืื ืชื ืืช ืืืคื ืชื ืืขืช ืื ืชืื ืื ืืจื ืชืืื ืืช ืืืืืืช ืืืืืงื ืืงืืืืช ืื ืืจืืช ืืคืื ืงืฆืื. ืืชืืฆืื ืืื, ืืื ืืื ื ืืืื ืืขืงืื ืืืจ ืืฆื ืืฉืชื ื ืขื ืคื ื ืคืื ืงืฆืืืช ืื ืืืืืืื ืืจืืืื ืื ืืืืืช ืืขืืืช ืืืืจืฉืืช ืืืข ืขื ื ืชืืื ืืืฆืืข ืืื-ืชืืื ืืชืืื.
ืืืืื ืืงืฉืืจืื ืืืงืืืืืืช ืื ืื ืืืืฅ ืืชืืื ืคืขืืืืชื. Go-Critic ืืื ื ืืืื ืฉืืจืืช, ืขืจืืฆืื ืื ืื ืื ืื ื ืกื ืืจืื. ืฆืืืชืื ืืืื ืื ืืืฉืืื Go ืืงืืืืื ืื ืื-ืืื ืืื ืืืื ืืืืงืงื ืืืื ื ืืชืื ื ืืกืคืื ืืื ืืืืืื ื ืืื ืืช ืืชืืืืื ืืื.
ืืืจืืช ืฉ-Go-Critic ืชืืื ืืืืืื ืจืื ืฉื ืืืืงืืช, ืืื ืืื ื ืืกืคืง ืืฆืืจืช ืืืืื ืืืชืืืื ืืืฉืืช ืื ืืืืืช ืืจืืื ืืืืฆืขืืช ืชืืกืคืื. ืืฉืืขืืช ืืืืจ ืืื ืฉืืคืชืืื ืืื ื ืืืืืื ืืืชืื ืืืืื ืกืคืฆืืคืืื ืืืจืืื ืืืื ืืฉื ืืช ืืช ืงืื ืืืงืืจ ืฉื ืืืื ืืฉืืจืืช, ืืืจ ืฉืขืฉืื ืืืืืช ืืืชื ืืคืฉืจื ืืฆืืืชืื ืืืืืื ืื ืืืืจืื.
ืชืืฆืืืช ืืืืืืืช ืฉืืืืืช ืขืืืืืช ืืืชืจืืฉ, ืืืืืื ืืืฉืจ ืืืืงืืช ืืกืชืืืืช ืขื ืืืืจืืกืืืงืืช ืืื ืขื ืขืจืืืืืช ืกืื ืืืืช ืงืคืื ืืืช. ืืืงืจืื ืืกืืืืื, Go-Critic ืขืฉืื ืืกืื ืืคืืกืื ืชืงืคืื ืืืืืื ืื ืื ื ืจืืื ืื ืืขืืืื ืื ืฉืืืืื ืชืืช ืืขืจื ืืืืืื ืฉืื. ืกืงืืจื ืืื ืืช ืฉื ืืืืฆืืื ืืื ืืขืชืื ืงืจืืืืช ืืืจืืืช.
ืืืกืืฃ, Go-Critic ืืื ื ืืืืขื ืื ืืชืื ืืืืื. ืืื ืืื ื ืืืื ืกืืืื ื ืืืจืงื, ืฉืืืืฉ ืืจืขื ืืงืจืืคืืืืจืคืื ืื ืงืื ืื ืืืืืช. ืฆืืืชืื ืืขืื ืืืืขืืช ืืืืืื ืฆืจืืืื ืืฉืื ืืช Go-Critic ืขื ืืืื ืืืขืืืืื ืืื... gosec or govulncheck ืืฆืืจื ืืืืื ืคืืืขืืืืช.
Go-Critic ืฉืืืืฉื ืืืืชืจ ืขืืืจ ืฆืืืชืื ืฉืจืืฆืื ืืืืช ืืขืืจ ืืืืืงืืช ืืกืืกืืืช ืฉื ืืืืงืืช ืืงืกื (linting) ืืืืืืช ืืขืืืช ืขืืื ืืช ืฉื ืชืงืื ืืช ืื ืืืฆืืขืื ืืฉืื ืืืงืื ืฉื ืืืืืจ ืืคืืชืื. ืืื ืขืืื ืืืื ืืฉืืืื ืขื ืืืืงืืช ืืงืกื ืคืฉืืืืช ืืืชืจ ืืืืื ืืฉืคืจ ืืช ืืืืืช ืืงืื ืืืืฆืขืืช ืืืืงืืช ืืื ืืืช ืืชืงืืืืช ืืืชืจ, ืืชื ืื ืฉืืืฆืืื ืืชืคืจืฉืื ืืฆืืจื ืืืฉืืืช ืืืฉืืฉืื ืืฉืืืื ืขื ืื ืชืืื ืกืืืืื ืืขืืืงืื ืืืชืจ.
ืืืืงืช ืชืืืช (OWASP) ืขืืืจ Go
ืืืืงืช ืชืืืช OWASP ืืื ืืื ืงืื ืคืชืื ืืืืข ืฉืคืืชื ืขื ืืื ืงืจื OWASP ืืืืืื ืคืืืขืืืืช ืืืืขืืช ืืชืืืช ืืคืจืืืงืืื. ืืื ืืฉืืฉ ืืขืืงืจ ืืกืจืืงืช ืกืคืจืืืช ืืืืืืืช ืฉื ืฆื ืฉืืืฉื ืืคืจืืืงื ืขืืืจ ืืจืกืืืช ืขื ืืขืืืช ืืืืื ืฉื ืืฉืคื ืืคืืืื, ืืืชืืกืก ืขื ืืกืื ื ืชืื ืื ืืืื ืืกื ืื ืชืื ืื ืืืืืื ืืคืืืขืืืืช (NVD) ืืืงืืจืืช ืืืขืืฅ ืืืจืื.
ืืืจืืช ืฉืืงืืจื ืืืขืจืืช ืืืงืืืืืืช ืฉื ื'ืืืื, Dependency-Check ืืชืคืชื ืืชืืื ืืฉืคืืช ืชืื ืืช ืืจืืืืช, ืืืื ืชืืืื ืืืืืืช ื-Golang. ืืคืจืืืงืืื ืฉื Go, ื ืืชื ืืืฉืชืืฉ ืืืื ืืกืจืืงื go.mod ื go.sum ืงืืฆืื ืืื ืืืืืช ืืจืกืืืช ืืืืืืื ืคืืืขืืช ืืืืฆืืจ ืืืืืช ืืืืื ืขื CVEs ืงืฉืืจืื, ืฆืืื ื ืืืืจื ืืขืฆืืช ืืชืืงืื.
ืฆืืืชืื ืฉืืืจ ืืฉืชืืฉืื ื-Dependency-Check ืืื ืืืขืจืืืช ืฉืืื ืขืฉืืืื ืืฉืื ืืืชื ืืฆืื ืืจืืช Go ืฉืืื ืืื ืืฉืืืจ ืขื ืืืฉืช ื ืืืื ืคืืืขืืืืช ืืืืื ืืื ืฉืคืืช. ืืืืืช ืืืื ืื ืืคืืจืืืื ืฉืื ืื, ืืืื HTML, JSON ื-XML, ืื ืฉืืืคื ืืืชื ืืชืืื ืืืืืื ืจืื ืฉื ืืืืืช ืืืืื ืื ืฉื CI/CD ืืืืืื.
ืืืืืืช ืฉื ืืืืงืช ืชืืืช ืืคืจืืืงืืื ืฉื Go
ืืขืื ืฉ-Dependency-Check ืืขืื ืืืืงืืจืช ืคืืืขืืืืช ืืจืืช ืืืขืจืืช ืืืงืืืืืืช, ืืืืืืชืื ืืกืืืืืช ืกืคืฆืืคืืืช ื-Go ืืืืืืืช ืืืชืจ ืืืฉืืืื ืืฉืืืืฉ ืื ืืคืจืืืงืืื ืืืืกืกื JVM.
ืชืืืืช ื-Go ืฉืื ืืืืกืกืช ืืขืืงืจ ืขื ืืื-ืืืื ืืืื ื ืืืืืช ืืืืขืืช ืกืื ืืืช ืื ื ืืชืื ืืจืฃ ืงืจืืืืช. ืืฉืืขืืช ืืืืจ ืืื ืฉืืื ืืื ื ืืืืื ืืงืืืข ืืื ืืืืื ืคืืืขื ื ืืฆืืช ืืฉืืืืฉ ืืคืืขื ืขื ืืื ืืงืื ืื ืืื ืืคืื ืงืฆืืื ืืืืช ืืคืืืขื ืืืคืขืืช ืื ืคืขื. ืืชืืฆืื ืืื, ืืืื ืขืฉืื ืืืืฆืจ ืืชืจืืืช ืขืืืจ ืชืืืืืช ืฉืงืืืืืช ืืืืื ื ืืื ืืช ืื ืืขืืื ืื ืืืืฆืขืืช.
ืืื ืืกืชืืืช ืืืืื ืจืื ืขื ืืืืจื ืืืืข ืฆืืืืจืืื ืืื NVD, ืฉืขืฉืืืื ืืคืืจ ืืืจื ืืืืืช ืืืื ืื ืฉื ืืืืื ืืืื ืืืช. ืืืจ ืื ืืฉืคืืข ืขื ืืืืืชื ืืืืืช ืคืืืขืืืืช ืฉืืืืื ืืืืจืื ื ืื ืืชืจืืืช ืืืืื ืฉืืจื ืขืืืื ืืงืืืืื.
ืืืืงืช ืืชืืืช ืืื ื ืืืืงืช ืืช ืงืื ืืืงืืจ ืืืืชืืจ ืืืืืงื ืื ืืืืื, ืืขืืืช ืชืฆืืจื ืื ืืคืืกืื ืื ืืืืืืืื. ืืื ืืื ื ืืขืจืืื ืืืฆื ืงืื ืืืืืช, ืืืฆื ืืืืืช ืืืืคื, ืื ืืื ืืืฉืงื API ืงืจืืคืืืืจืคืืื ืืฉืืฉืื ืืฆืืจื ื ืืื ื. ืชืืืืื ืืื ืืืืืื ืืืืืช ืืืืกืื ืขื ืืื ืืืื ืืืจืื ืืืื gosec or Semgrep.
ืืื ืืื ื ืืืื ืืช ืฉื ืจืืืืืฆืืืช ืืืืืืืื ืื ืื ืืืืช ืืืืืคื ืฉื Go. ืืืงืจืื ืืกืืืืื, ืืืื ืขืืื ืืคืจืฉ ืืืืคื ืฉืืื ืืจืกืืืช ืืืืืืื ืื ืื ืืืชืืื ื ืืื ืืช ืืืืขืืฅ ืื ืขืฅ ืืชืืืช ืืฉืชื ื ืืืืฆืขืืช ืชืืืืืช ืขืงืืคืืช ืื ื ืชืืื ืืืืืืื ืืืชืืืื ืืืฉืืช.
ืืืกืืฃ, ืฉืืืื Dependency-Check ืืืจืืืืช ืขืืืื ืฉื Go ืขืฉืื ืืืจืืฉ ืืืืจืืช ืกืงืจืืคื ืื ืขืืืคื ื ืืกืคืืช, ืืืืืื ืฉืชืืืื ืืืืื ืืงืืจืืื ืืื ื ืืืืจืช ืืื ืขืืืจ ืฉืคืืช ืืืจืืช ืืื Java ืื .NET.
ืืืืงืช ืชืืืืืช ืฉื OWASP ื ืืชืจื ื ืืก ืืงืจ ืขืจื ืืืืืื ืชืืืืืช ืคืืืขืืช ืืืืขืืช ืืคืจืืืงืืื ืฉื Go. ืขื ืืืช, ืืื ืคืืขืืช ืืฆืืจื ืืืืื ืืืืชืจ ืืฉืืืื ืขื ืืืื ืืืฆืืขืื ื ืืชืื ืฉืืืืฉ ืืคืืขื, ืกืจืืงื ืกืื ืืืช ืืืืืงืช ืืจืืืช ื ืชืื ืื. ืืืจืืืืช ืขืืืื ืฉื ื ืืืื ืคืืืขืืืืช, ืืื ืืฉืืฉืช ืืกืืจืง ืืกืืกื ืืฉืื ืื ืื ืฆืจืืื ืืืืืช ืฉืืืช ืืืื ื ืืืืืื.
ืื-ืกืืืงืื
ืื-ืกืืืงืื ืืื ืืื ื ืืชืื ืกืืื ืืืขืืื ืืืืฉื ืืช ืืืจืืืืช ืฆืืงืืืืืืช ืฉื ืคืื ืงืฆืืืช ืืืชืืืืช ืืงืื Go. ืืืจืืืืช ืฆืืงืืืืืืช ืืื ืืื ืชืืื ื ืืืืื ืืช ืืกืคืจ ื ืชืืื ืืืืฆืืข ืืขืฆืืืืื ืืจื ืคืื ืงืฆืื. ืฆืืื ื ืืืจืืืืช ืืืืืื ืืฆืืืขืื ืืขืชืื ืงืจืืืืช ืขื ืื ืฉืงืฉื ืืืืื, ืืชืืืง ืื ืืืืืง ืืืขืืืืช ืคืื ืงืฆืื.
ืขื ืืื ื ืืชืื ืืจืืืช ืืืงืจื ืฉื ืื ืคืื ืงืฆืื, GoCyclo ืืืื ืงืื ืฉืขืฉืื ืืืืืช ืืืจืื ืืื ืืืฉ ืืืฆืข ืื ืขืืืื ืืืืฉ ืืฆืืจื ืงืจืืืืช ืืชืืืืงื ืืืืื ืืืชืจ. ืืื ืืกืคืง ืฆืืื ืื ืืกืคืจืืื ืืื ืคืื ืงืฆืื ืื ืืชื ืืืืืืจ ืืืชื ืืกืื ืงืื ืืืืจื ืืกืฃ ืืืจืืืืช ืืืืืจ ืขื ืืื ืืืฉืชืืฉ.
GoCyclo ืคืฉืื ืืฉืืืืฉ ืืืฉืชืื ืืืื ืขื ืืขืจืืืช CI, ืืขืจืืืช Pre-Commit Hooks ืืืืืืืฆืื ืฉื ืืืงืืจืืช. ืืื ื ืืื ืืขืชืื ืงืจืืืืช ืืฆืื ืืจืืช ืืืืืช ืืืืืช ืืืืืื ืืืชืจ ืืื ืืื ืืข ืืงืื ืืืคืื ืืืืจืื ืืื ืื ืืกืืื ืืื ืืืืจื ืืื. ืขืืืจ ืฆืืืชืื ืืืชืจืืืื ืงืื ื ืงื ืืืจืืืืงืืืจื ืืช ืงืืืื, GoCyclo ืืฉืืฉ ืืขืืฉื ืืืืืืงืืืืืช ืืืืจืืืืช ืืืืืช.
ืืืืืืช ืืฉืืงืืืื ืฉื GoCyclo
ืืืจืืช ืืชืืขืืช ืฉืื, ื-GoCyclo ืืฉ ืืืงืื ืฆืจ ืืืกืคืจ ืืืืืืช ืฉืืืคืืืช ืืืชื ืืืชืืื ืืืืชืจ ืืืืง ืืฉืจืฉืจืช ืืืื ืจืืื ืืืชืจ.
GoCyclo ืืื ื ืืืื ืืืืื, ืคืืืขืืืืช ืื ืกืืืื ื ืืืืื. ืืืืชื ืืืืืื ืืื ืืืืืช ืืืืจืืืืช ืืืื ืืช ืฉื ืืจืืืช ืืืงืจื ืืคืื ืงืฆืืืช. ืืชืืฆืื ืืื, ืืื ืืื ื ืืืื ืืืฉืืฃ ืฉืืืืืช ืกืื ืืืืช, ืฉืืืืช ืขืืืื ืืจืืขืืช ืื ืืคืืกื ืงืืืื ืื ืืืืืื. ืขืืืจ ืืขืืืช ืืืื, ืืืื ืืืจืื ืืื staticcheck or gosec ืืชืืืืื ืืืชืจ.
ืืืื ืื ืชื ืคืื ืงืฆืืืช ืื ืคืจื. ืืื ืืื ื ืืชืืฉื ืืืฆื ืคืื ืงืฆืื ืืงืืืืช ืืื ืืจืืงืฆืื ืขื ืืืจืืช, ืืื ืืื ื ืืขืจืื ืืืจืืืืช ืฉื ืืฆืจืช ืืืืฆืขืืช ืชืืืืืช ืื ืฉืจืฉืจืืืช ืืืืืืช ืขืงืืคืืช. ืฉืชื ืคืื ืงืฆืืืช ืืืืืืช ืืงืื ืฆืืื ืื ื ืืืืื ืื ืืืช ืื ืคืจื, ืื ืขืืืื ืืืืืช ืงืฉืืช ืืืืืืื ืืื ืืื ืืืฉืจ ืื ืืฉืืืืืช, ืืืจ ืฉ-GoCyclo ืืื ื ืืืื ืืืืืช.
ื-GoCyclo ืืกืจ ืื ืืงืฉืจ ืืืื ืืื ืืืจืืืืช ืืืืื ืืืฆืืงืช. ืคืื ืงืฆืืืช ืืกืืืืืช, ืืื ืืื ืืืืคืืืช ืื ืืชืื ืคืจืืืืงืืืื ืื ืืืขืจืืช ืืืื ืขืกืงืืื, ืขืฉืืืืช ืืืืืช ืืืจืืืืช ืืืืคื ืืืขื. GoCyclo ืืืคืืช ืืื ืืืงืจืื ืืืืคื ืืืื, ืื ืฉืขืืื ืืืืืื ืืชืืฆืืืช ืืืืืืืช ืฉืืืืืช ืืืงืฉืจืื ืืืืืืื.
ืื ื ืืชื ืืช ืืืืืืช ืื ืชืืื ืืช ืืจืืืืงืืื ืืืช. GoCyclo ืืคืืงื ืจืฉืืื ืฉื ืฆืืื ื ืืืจืืืืช, ืื ืืื ื ืงืืฉืจืช ืืืชื ืืืืืื ืืื-ืืขืจืืชืืื ืื ืืืื ืืืงืืืจืื ืฉื ืืื ืืื ื. ืืคืชืืื ืืืืืื ืืคืจืฉ ืืช ืืชืืฆืืืช ืืืืคื ืืื ื ืื ืืฉืื ืืืชื ืขื ืืืืืช ืืืืื ืื ืื ืฉืขืจื ืืืืืช ืืื ืืงืื ืืฉืื ืืขืฉื.
ืืื ืื ืื ืืฆืืข ืืฆืขืืช ืืืืืืืืืช ืืฉืื ืื ืคืงืืืจืื ื. ืืืจืืช ืฉืืื ืืฆืืืข ืขื ืืืจืืืืช, ืืื ืืื ื ืืกืคืง ืื ืืืืช ืืืฆื ืืืคืืืช ืืืชื. ืืคืชืืื ืฆืจืืืื ืืืฉืชืืฉ ืืฉืืงืื ืืขืชื ืืื ืืื ืืช ืืืืฉ ืืช ืืงืื ืืืฉืคืจ ืืช ืืืืืจืืช.
GoCyclo ืืืืืืื ืืฆืืืชืื ืฉืืืจืชื ืืืืืฃ ืคืฉืืืช ืืจืืช ืืคืื ืงืฆืื ืืืฉืืืจ ืขื ืงืื Go ื ืงื ืื ืืชื ืืืืืงื. ืืฉืืืืฉ ืืฉืืืื ืขื ืื ืชืืื ืืืจืื, ืืื ืชืืจื ืืืกืืก ืงืื ืืจ ืชืืืืงื ืขื ืืื ืืืืฉืช ืชืืืืื ืฉืขืฉืืืื ืืืคืืง ืชืืขืืช ืืจืืคืงืืืจืื ื ืืคื ื ืฉืื ืืืคืืื ืืืกืจืื ืืช ืืื ืืื.
ืื-ืืื-ืืื ืืจ
ืื-ืืื-ืืื ืืจ ืืื ืืื ืืืืื ืืจืืฉืื ืื ืฉื ืืฆืจื ืืื ืืืื ืืกืคืจ ืจื ืฉื ืืขืจืืืช Go Linters ืชืืช ืืืฉืง ืืืื. ืืืจืชื ืืขืืงืจืืช ืืืืชื ืืืืขื ืืช ื ืืชืื ืืงืื ืืกืืื ืขื ืืื ืืชื ืืคืฉืจืืช ืืืคืชืืื ืืืจืืฅ ืืืืืช ืืขืจืืืช Go Linters ืืืงืืื ืืืงืื ืืืคืขืื ืื ืืืช ืื ืคืจื. GoMetaLinter ืชืื ืืขืฉืจืืช ืืื ืงืืืื ืืืื ืืืื, ืืืื golint, vet, staticcheck, ineffassign, ื errcheck, ืืื ืืืชืจ.
ืืืฉื ืชืงืืคื ืืกืืืืช, ืืื ืฉืืืฉื ืืืืืจื ืืกืื ืืจืืืช ืขืืืจ ืฆืืืชืื ืฉืจืฆื ืืืกืื ืืืืจ ืื ืืชื ืืืืืจื ืฉื ืืขืืืช linting ืืคืงืืื ืืืช. ืืื ืืฆืืขื ืืคืฉืจืืืืช ืฉืืืืฉืืืช ืืืคืขืื ืื ืืฉืืชื ืฉื ืืขืืืช linting ืกืคืฆืืคืืืช, ืกืื ืื ืคืื ืืคื ืืืืจื, ืืชืืื ืืืฉืืช ืฉื timeouts ืืืคืงืช ืคืื ืงืจืื ืขื ืืื ืืืื ื. GoMetaLinter ืืืืื ืชืคืงืื ืืฉืื ืืขืืฆืื ืืืืคื ืฉืื ืคืจืืืงืืื ืฉื Go ืฉืืืื ื ืืชืื ืกืืื ืืฆืื ืืจืืช CI, ืืืืืื ืืฉื ืื ืืจืืฉืื ืืช ืฉื ืฆืืืืชื ืฉื Go.
ืืืจืืช ืฉืืื ืืืจ ืื ืืชืืืืง ืืืืคื ืคืขืื, ืืืจืฉืชื ืฉื GoMetaLinter ืืืฉืืื ืืืืื ืฉืืืื ืืืืจืืืืงืืืจื ืฉืื ืืฉืืคืจื ืืช ืืืืืืชืื, ืืืื golangci-lint.
ืืืืืืช ืืืชืืืฉื ืืช ืฉื GoMetaLinter
ืืขืื ืฉ-GoMetaLinter ืืืืชื ืืขืืช ืืฉืคืขื, ืืื ืืืืขื ืขื ืืกืคืจ ืืืืืืช ืืฉืืขืืชืืืช ืฉืืคืชืืื ืฆืจืืืื ืืฉืงืื ืืคื ื ืืืืืฅ ืื ืืืฉื ืืฉืืืืฉ ืื.
ืืืื ืืืฆื ืืฉืืืืฉ ืืืืคื ืจืฉืื ืืื ืงืืื ืชืืืืงื ืื ืขืืืื ืื ืคืขืืืื ืืืฉื ืืกืคืจ ืฉื ืื. ืืฉืืขืืช ืืืืจ ืืื ืฉืืืชืื ืฉืืื ืื ืืชืืื ืืืจืกืืืช ืืืฉืืช ืืืชืจ ืฉื Go, ืืืจืกืช linter ืืืฉื ืืืชืจ ืื ืืชืืื ืืช ืฉืคื ืืขืืืื ืืช. ืืขืืืช ืชืืืืืช ืขืืืืืช ืืืชืขืืจืจ ืืกืืืืืช ืคืืชืื ืืืืจื ืืืช, ืื ืฉืืืืื ืืฉืืืืืช, ืืืืื ืื ืื ืืืืืงืื ืื ืืื ืืืจืฆืืืช ืคืืืืืช.
ืืืฆืืขืื ืื ืืืกืจืื ืืืืข. GoMetaLinter ืืจืืฅ ืื ืชืืืื ืืื ืืจ ืืชืช-ืชืืืื ื ืคืจื, ืืขืชืื ืงืจืืืืช ืืื ืชืืืื ืืขืื ืื ืืงืฉืจ ืืฉืืชืฃ. ืืชืืฆืื ืืื ืืื ื ื ืืชืื ืืจืืืื, ืืืืืื ืขืืืจ ืคืจืืืงืืื ืืืืืื ืืืชืจ. ืืืื ืืืฉืื ืืืชืจ ืืื golangci-lint ืืืขืื ืืช ืืชืืืื ืืื ืขื ืืื ืืืืขืช ืืืืจื ืืื ืืฉืืจืืช ืืืืขืืจ ืชืงืืจื.
ืืื ืชืืืื ืืืื ืืช ืืืืืืื Go. ืืื ืฉืืืขืจืืช ืืืงืืืืืืช ืฉื Go ืขืืจื ื... GOPATH ืขืืืจ ืืืืืืื, GoMetaLinter ืื ืืชืคืชื ืืื ืืชืืื ืืืจืืืช ืืขืืืื ืืืืฉื. ืืคืชืืื ืฉืขืืืืื ืขื ืคืจืืืงืืื ืืืืกืกื ืืืืืืื ืืืืืื ืืืชืืื ื ืชืืืื ืืืืคื ืืื ื ืื ืืืืชืงื ืืืชื ืืืืช ืืืชื ืฆืคืืื.
ื-GoMetaLinter ืืกืจืืช ืื ืชืืื ืืช ืขืืืงืืช ืืืชืจ ืฉื ื ืืชืื ืกืื ืื ืื ืืื ื. ืืื ืืฉืืฉ ืืขืืงืจ ืืืขืืคืช ืืืื ื ืืืกืืฃ ืืื ืืืืื ืฆืื ืืขืืจ ืืืืกืืฃ ืคืื. ืขืืืจ ืฆืืืชืื ืืืงืืงืื ืื ืืชืื ืืจืืืช ืืงืจื, ืืขืงื ืืืจ ืืจืืืช ื ืชืื ืื ืื ืืืืืช ืืจืืืืงืืืจื, ื ืืจืฉืื ืืืื ืืชืงืืืื ืืืชืจ.
ืืืชืืื ืืืืฉืืช ืืืืืืช ืขื ืืื ื-linters ืืืืืืื ืฉืืื ืชืืื ืืื. ืืืจืืช ืฉืืื ืืืคืฉืจ ืืืืจื ืฉื ืืืื ืืืื ืืืจืืฅ, ืืื ืืื ื ืืกืคืง ืืขืจืืช ืชืืกืคืื ื ืืชื ืช ืืืจืืื ืื ืชืืืื ืืืชืืืช ืืืืงืืช ืืืชืืืืช ืืืฉืืช ืขื ืคื ื ืืคืื ืืืฆืืืจ.
ืืกืืืืช ืืื, GoMetaLinter ื ืืฉื ืืืื ืืืกืืืจื. ืจืื ืฆืืืชื ื-Go ืืืืืจื ืืื ืขืืจื ืืืืืคืืช ืืื golangci-lint, ืืืกืคืงืื ืืืฆืืขืื ืืืืจืื ืืืชืจ, ืชืืืืืช ืจืืื ืืืชืจ ืืงืืืืช ืคืืชืื ืคืขืืื ืืืชืจ.
GoSec
GoSec ืืื ืืื ืืืื ืื ืืชืื ืืกืืื ืืืืืจืื ืืืืชืจ ืืืืงืืฉืื ืืกืจืืงืช ืืืืื ืืคืจืืืงืืื ืฉื Go. ืืืจืชื ืืขืืงืจืืช ืืื ืืืืืช ืืคืืกื ืงืืืื ื ืคืืฆืื ืฉืขืืืืื ืืืื ืืก ืคืืืขืืืืช ืืืื ืืืจืงืช ืคืงืืืืช, ืกืืืืช ืืงืืืืื, ืฉืืืืฉ ืื ืืืืืื ื-TLS ืื ืืืคืื ืื ืชืงืื ืืฉืืืืืช. ืืื ืื ืชื ืงืืฆื ืงืื ืืงืืจ ืขืืืจ ืืขืืืช ืกืคืฆืืคืืืช ืืืืืื ืขื ืืืฆืืื ืขื ืกืื ืกื ืืืื ื ืฉื ืืืืื ืืืืงืื ืืืืื.
GoSec ืชืืื ืืคืืจืืืื ืืจืืืื ืฉื ืคืื, ืืืื ืืงืกื ืจืืื, JSON ื-SARIF, ืื ืฉืืงื ืขื ืฉืืืืื ืืืจืืืืช ืขืืืื ืฉื CI/CD ืืืืืืืช ืืืืื ืื ืฉื ืืืืื. ืืื ืืฆืืข ืื ืกืื ืื ืืคื ืืืืจืช ืืืืื, ืื ืืืืืช ืกืคืจืืืช ืื ืืืืืืช ืกืคืฆืืคืืืช ืืืืืืช ืืืืื ื ืืชื ืช ืืืืืจื. ืชืืื ืืช ืืื ืขืืืจืืช ืืฆืืืชืื ืืืืื ื ืืช ืืชืืฆืืืช ืื ืฉืืชืืืื ืืกืืืืืช ืฉืืื ืืกืืืื ืืจืขืฉ.
ืืืื ืืืืืฅ ืืขืชืื ืงืจืืืืช ืืฉืื ืืืงืื ืฉื ืฉืืืืช ืืืืื ืฉื Go, ืืืืืื ืฉืืื ืืกืคืง ื ืงืืืช ืื ืืกื ืืืืจื ืืงืืช ืืฉืงื ืืืืืื ืืชื ืืืืืืช ืงืืืื ืื ืืืืืืืืช ืืืืขืืช. ืืื ืขืืื ืืืื ืื ืขืืืจ ืืืฉืืืื ืงืื ืื ืืื ืขืืืจ ืืจืืืืงืืืจืืช ืืืงืจื-ืฉืืจืืชืื ืืืืืืช, ืืืืืื ืืืฉืจ ืืื ืืืคืขื ืืืืคื ืงืืืข ืืืืง ืืคืืื ืืจืืช ืืืืืืืืื.
ืืืืืืช ืืืืืืฆืื ืฉื GoSec
ืืขืื ืฉ-GoSec ืืื ืืื ืืขื ืขืจื ืืืืืื ืคืืืขืืืืช ืืจืืช ืืฉืื, ืืื ืคืืขื ืชืืช ืืืืืืช ืืกืืืืืช ืฉืืืคืืืช ืืืชื ืืื ืืชืืื ืืคืชืจืื ืืืืื ืืื ืขืืืจ ืืกืืกื ืงืื ืืืจืืืื ืืืชืจ.
GoSec ืืฉืชืืฉ ืืืชืืื ืกืืืืช ืืืืกืกืช ืืืืื ืืื ืืืืืช ืืขืืืช. ืืื ืืื ื ืืืฆืข ืืจืืืช ื ืชืื ืื ืืขืืืงื ืื ื ืืชืื ืืืืืืื. ืืฉืืขืืช ืืืืจ ืืื ืฉืืื ืืื ื ืืืื ืืขืงืื ืืืจ ืืืืคื ืฉืื ืงืื ืื ืืืื ืขืืืจ ืืจื ืืืคืืืงืฆืื ืื ืืื ืืื ืืืืข ืืกืืคื ืฉื ืืืจ ืืคืขืืืืช ืจืืืฉืืช. ืืชืืฆืื ืืื, ืืื ืขืืื ืืคืกืคืก ืคืืืขืืืืช ืืจืืืืช ืฉืืืื ืืืืจืฉืืช ืืื ื ืฉื ืืืงืฉืจ ืืืืืืช ืืชืืื ืืช.
ืืืื ืืื ื ืืื ื ืืจืคื ืืจืืืช ืืงืจื ืื ืืืื ืืืฆืืข. ืืื ืืื ื ืืืื ืืืกืืง ืืกืงื ืืช ืืืื ืขื ืคืื ืืืชื ืื, ื ืชืืืื ืืืชื ื ืืืฉืื ืื ืกืืืื ื ืืืฆืืข ืื-ืืื ืืื. ืืื ืื ืืื ื ืืืืข ืืืงืฉืจ ืืืืฆืืข, ืืืจ ืืืืืื ืืช ืืืืืชื ืืืืืช ืคืืืขืืืืช ืืืืกืกืืช ืชืืืื ืื ืคืืืื ืืืืืื ืืงืฉืืจืื ืืืชื ืืืืช ืกืคืฆืืคืืช ืืกืืืื.
GoSec ืืื ื ืืืืข ืืืงืืืืืช. ืืื ืืื ื ืืืื ืืืืืช ืชื ืื ืืจืืฅ, ืฉืืืืฉ ืื ื ืืื ื-gorutines ืื ืืชื ืืฉืืืืช ืืฉืืืื ืืฉืืชืคืื ืฉืขืืืืืช ืืืืืื ืืืชื ืืืืช ืืืชื ืฆืคืืื ืื ืืืืืฉืืช ืืืืื ืืืืฆืืจ.
ืืชืืืช ืืืืื ืืืชืืืื ืืืฉืืช ืืืืืืช. ืืขืื ืฉืืคืฉืจ ืืืฆืข ืืืื ืื ืืกืืื, GoSec ืืื ื ืืฆืืขื ืฉืคืช ืฉืืืืชืืช ืื ืืืืจืช ืืืืื ืืืืฉื ืืื Semgrep ืื CodeQL. ืฆืืืชืื ืืืขืื ืืื ืื ืืืืืฃ ืืืื ืืืช ืืืืื ืคื ืืืืช ืื ืืืืืช ืืืืืื ืกืคืฆืืคืืื ืืืืฉืื ืขืฉืืืื ืืืชืงืฉืืช ืืืจืืื ืืช ืืืื ืืืืคื ืืฉืืขืืชื.
ืชืืฆืืืช ืืืืืืืช ืฉืืืืืช ืืืืืืช ืืืชืจืืฉ ืืืฆืืื ืืื ืงืื ืชืืื ืืคืืก ืืืืข ืื ืืืื ืขื ืืื ืืงืฉืจ ืื ืืืืืงืช ืืืืืช. ืืคืชืืื ืขืฉืืืื ืืืฉืงืืข ืืื ืืืืืงืช ืืชืจืืืช ืฉืืื ื ืืืืช ื ืืชื ืืช ืืคืขืืื, ืืืืืื ืืืกืืกื ืงืื ืืืืจ ืงืืื ืฉืืื ื ืคืืฆืื ืืืืืืื ืืืจืืืื.
GoSec ื ืืชืจ ืกืืจืง ืืืขืื ืืฉืืืื ืืืงืืืื ืขืืืจ ืคืจืืืงืืื ืฉื Go. ืืื ืืกืคืง ืืฉืื ืืืืจ ืขื ืกืืืื ืื ื ืคืืฆืื ืืืกืืืข ืืืืืืง ืฉืืืืช ืงืืืื ืืืืืืืืช. ืขื ืืืช, ืฆืืืชืื ืืคืืขืืื ืืกืืืืืช ืืืกืืจืืช ืื ืขื ืืจืืฉืืช ืืืืื ืงืจืืืืืช ืฆืจืืืื ืืืฉืชืืฉ ืื ืืฆื ืื ืชืืื ืกืืืืื ืืขืืืงืื ืืืชืจ ืืืื ืืืืื ืืืื ืจืืฆื ืืื ืืืฉืื ืืืกืื ืืื.
ืืืงืื
ืืืงืื ืืื ืืื ื ืืชืื ืกืืื ืืกืืจืง ืงืืฆื ืืงืืจ ืฉื Go ืืื ืืืืืช ืงืื ืฉืืื ื ืืฉืืืืฉ, ืืืื ืคืื ืงืฆืืืช, ืืฉืชื ืื, ืงืืืขืื ืืกืืืื ืฉืืื ื ืืืืคื ืื. ืืืจืชื ืืขืืงืจืืช ืืื ืืขืืืจ ืืืคืชืืื ืื ืงืืช ืืช ืืกืืก ืืงืื ืฉืืื ืขื ืืื ืืกืจืช ืืืืจืืช ืฉืืขืืื ืื ื ืงืจืืืช ืื ื ืืืฉืืช ืืืืื. ืื ืื ืจืง ืืฉืคืจ ืืช ืืงืจืืืืช ืืื ืื ืืคืืืช ืืช ืขืืืืืช ืืชืืืืงื ืขื ืืื ืืกืจืช ืงืื ืฉืืื ื ืืฉืจืช ืืืจื ืคืื ืงืฆืืื ืืืช.
ืืืื ืคืืขื ืืืืืจืืช ืืืฉืชืื ืืืื ืืฆืื ืืจืืช ืื ืืื ืื ืืฉืจืฉืจืืืช ืืืื ืฉื ืืคืชืืื. ืืื ืืกืคืง ืคืื ืืงืกื ืจืืื ืืชืืื ืืฉืืืืฉ ืืฉืืจืช ืคืงืืื, ืื ืฉืืงื ืขื ืฉืืืืื ืืกืงืจืืคืืื ืื ืืืืืงืืช ืืจืื-ืงืืืื. ืงืื deadcode ืฉืืืืฉื ืืืืืื ืืคืจืืืงืืื ืืืืืื ืื ืืฉื ืื ืฉื Go ืฉืืื ืฉืจืืืื ืฉื ืฉืื ืืื ืงืืืืื ืขืฉืืืื ืืืืฉืืจ ืืฉืงื ืืจืงืข.
ืขื ืืื ืืชืืงืืืช ืืืืืืช ืืงืื ืฉืืื ืื ืืฉืคืขื ืื ืฉืืืืฉ, deadcode ืขืืืจ ืืฆืืืชืื ืืืืืช ืืืืืช ืืื ืืื ืฉืืขืชืื ืงืจืืืืช ืืื ื ืืืจืืฉืื. ืืื ืืงืื ืืืฉืงืื ื ืงืืื ืืืชืจ, ืืืฉืงื API ืืืืงืื ืืืชืจ ืืืจืืื ืงืื ืืืืื ืืืชืจ.
ืืืืืืช ืืืืืืฆืื ืฉื ืงืื ืืช
ืืขืื ืฉ-deadcode ืืืขืื ืืืืืื ืืืืจืืช ืืืืชืจืืช, ืืื ืคืืขื ืืืืงืฃ ืืืืื ืืืฉืคืืข ืขื ืืชืืขืืช ืฉืื ืืกืืืืืช ืืกืืืืืช.
ืืืื ืื ืชื ืงืื ืืืืคื ืกืืื ืื ืืื ื ืืชืืฉื ืืืชื ืืืืช ืืื ืจืืฆื. ืืื ืืื ื ืืืื ืืืืืช ืฉืืืืฉืื ืืื ืืืื ืืืืืื ืืืืฆืขืืช ืืฉืชืงืคืืช, ืืขืจืืืช ืชืืกืคืื ืื ืฉืืืืจ ืืืืกืก ืืืฉืง. ืืฆื ืื ืขืืื ืืืจืื ืืชืืฆืืืช ืืืืืืืช ืฉืืืืืช ืฉืืื ืงืื ื ืจืื ืฉืืื ื ืืฉืืืืฉ ืื ืืคืืขื ืืืคืขื ืืืจืืื ืฉืืื ื ื ืจืืืช ืืจื ืืคื ืืืช ืกืืืืืช.
deadcode ืืื ื ืืืื ืงืืฆื ืืืืงื ืื ืงืื ืืืืคืขืืื ืืจื ืืกืืจืืช ืืืืงื ืืื ืื ืื ืื ืืืืืื ืืืคืืจืฉ. ืื ืืืื ืืืจืื ืื ืืกืื ืคืื ืงืฆืืืช ืขืืืจืืช ืืืืงื ืื ืืืืืงืช ืืืืจื ืืื ืืฉืืืืฉ, ืืืจืืช ืฉืื ืืฉืืืืช ืื ืืื ืืช ืืคืจืืืงื ืืืืืกืื ืืืืืงื.
ืืื ื ืืชืื ืืจืืืช ืืงืจื ืื ืืขืงื ืืืจ ืชืืืช ืืื ืืืืืืช. ืืืื ืืชืืงื ืจืง ืืงืืฆืื ืืงืืืืื ืื ืืืืืืืช ืืืคืืจืืืช ืืืคืืจืฉ. ืืื ืืื ื ืืขืจืื ืืื ืงืื ืืฉืืฉ ืืืจืืื ืขืงืืคืืช ืืขืืจ ืืืืืืืช ืืืืืืื ืื ืืืืื โโืืื ืื.
ืืื ืืื ื ืืกืคืง ืืฆืขืืช ืืืฆื ืืืกืืจ ืงืื ืืกืืื ืืืืื ืื ืืืขืจืื ืืื ืืงืื ืฉืืื ื ืืฉืืืืฉ ืืฉืคืืข ืขื ืืืฉืงื API ืืืฆืื ืืื. ืืคืชืืื ืืืืืื ืืืืืง ืืืืืช ืฉืืืืจืืช ืืกืืื ืืช ืืืืืืช ืืืืืงื, ืืืืืื ืืขืช ืขืืืื ืืกืคืจืืืช ืื ืืืืืืืช ืืืืฆืืืช.
ืืคืฉืจืืืืช ืืืชืืื ืืืืฉืืช ืื ืืื ืืืืืืช. ืืื ืกืื ืื ืืคื ืกืื ืืืื, ืืื ืืจื ืืืื ืืืืจืืช ืกืคืฆืืคืืืช ืืชืื ืืฉืืจื, ืืืื ืื ืื ืื ืืืชืขืืืืช ืื ืชืืื ืงืื ืฉื ืืฆืจื ืื ืืืืจ ืงืืื. ืื ืืืื ืืืืืื ืืจืขืฉ ืขืืืฃ ืืคืจืืืงืืื ืืกืืืืื ืืื ืื ืื ืืืืฉืืช ืืืืืงืช ืขืืืคื ื ืืกืคืช.
ืงืื ืืืื (deadcode) ืืขืื ืืืืชืจ ืืืขืืจื ืืืืืื ืช ืงืื ืืืืงืืื ืื ืืืืง ืืืืืืืช ืืืคืืชืช ืืืืืช ืืื ืืื. ืืื ืืกืคืง ืชืืื ื ืืจืืจื ืืืื ืงืื ืฉืืื ื ืืืืืืจ ืืืกืืืข ืืืืืคืช ืขืงืจืื ืฉื ืฉืื ืคื ืื ืืื ืืืื. ืขืืืจ ืฆืืืชืื ืฉืืืจืชื ืืฉืคืจ ืื ืืคืฉื ืคืจืืืงืืื ืฉื Go, ืืื ืืฆืืข ืืืฉื ืงืืืื ืืืืืงืืช ืืฉืืืจื ืขื ืงืื ืจืื ืืืจ ืชืืืืงื.
ืืืืื ื
ืืืืื ื ืืื ืืื ืืืื ื-linting ืืืงืืจืืื ืฉื ืืฆืจื ืขืืืจ ืฉืคืช Go. ืืืจืชื ืืขืืงืจืืช ืืื ืืืืืฃ ืืืกืืืืช ืกืื ืื ืืืชื ืฉืืืช ืืืืืืืืืืช ืืืชืืกืก ืขื ืืื ืืืืช ืืืชืืืจืืช ืืชืืขืื ืืจืฉืื ืฉื Go. ืืื ืกืืจืง ืงืืฆื ืืงืืจ ืฉื Go ืืืืืื ืขื ืืขืืืช ืกืื ืื ืืืช ืฉืืื ื ืืื ื ืฉืืืืืช ืชืืืืจืืืช ืื ืคืื ืงืฆืืื ืืืืช, ืื ืขืืืืืช ืืืฉืคืืข ืขื ืืืืืจืืช, ืืขืงืืืืช ืืืงืจืืื ืฉื ืืงืื.
ืืืื ืคืฉืื ืืืชืงื ื ืืืืคืขืื, ืืืกืคืง ืืฉืื ืืืืจ ืขื ืืืจืื ืืื ืืขืจืืช ืืกืจืืช ืืชืืขืื, ืคืืจืืืื ืื ื ืืื ืื ืฉื ืืชื ืฉืืืช, ืืืืื ืืืืฆืื ืืืืืืช ืืกืืืจืืื ืืืืชืจืื. GoLint ื ืืฆื ืืฉืืืืฉ ื ืจืื ืืืืื ื ืืืกืืืจืืช ืืคืจืืืงืืื ืฉื ืงืื ืคืชืื ืืืจืืื ืื ืฉื Go ืืื ืืขืืื ืกืื ืื ืงืื ืืืื ืืืืงื ืขื ืื ืืืื ืืืชืืืืงื ืฉื ืืกืืกื ืงืื.
ืื ืขืืื ืืืื ืขืืืจ ืคืจืืืงืืื ืืฉืื ืืืงืื, ืงืืืืช ืืคืชืืื ืืืืจืื, ืื ืืืืืง ืขืงืืืืช ืืงืื ืืื ืฆืืืชืื. ืืืืฆืืขืื ืืืืืจืื ืืืคืื ืืคืฉืื ืฉืื ืืืคืืื ืืืชื ืื ืืืฉ ืืฉืืืืฉ ืืืืืืื ืืกืืืืืช ืคืืชืื, ืืืืงืืช Pull Request ืื ืืื ืืืจืฆืืืช ืขื ืขืืจืืื.
ืืืืืืช ืืืกืจืื ืืช ืฉื GoLint
ืืขืื ืฉ-GoLint ื ืืชืจื ืืืืจืช ืืืืคื ื ืจืื, ืืื ืืื ื ืืชืืืืงืช ืืืืคื ืคืขืื ืขืื ืืืืืืช ืืกืคืจ ืืืืืืช ืืืืืืืืช ืืช ืืชืืขืืช ืฉืื ืืชืืืืื ืขืืืื ืืืืจื ืืื ืฉื ืคืืชืื Go.
GoLint ืืชืืงืืช ืื ืืจืง ืืกืื ืื. ืืื ืืื ื ืืืื ืฉืืืืืช ืืืืืืช, ืฆืืืืจื ืืงืืืง ืืืืฆืืขืื ืื ืคืืืขืืืืช ืืืืื. ืืื ืื ืืื ื ืืขืจืืื ืืื ืืงืื ื ืืื, ืืขืื ืื ืืืื. ืืชืืฆืื ืืื, ืืฉ ืืฉืื ืืืชื ืขื ืืื ื ืืชืื ืกืืืืื ืืขืืืงืื ืืืชืจ ืืฆืืจื ืืืืืช ืงืื ืืฉืืขืืชืืช ืื ืืืืืช ืืชื ืืืืช.
ืืืื ืืฉ ืืืืืช ืืืืจื ืืืืืืช. ืืคืชืืื ืืื ื ืืืืืื ืืฉื ืืช ืื ืืืฉืชืืง ืืืืื ืืงืืืช, ืืืื ืืื ื ืชืืื ืืื ืืืืช ืกืื ืื ืืืชืืืืช ืืืฉืืช ืื ืืชืงื ืื ืกืคืฆืืคืืื ืืคืจืืืงื. ื ืืงืฉืืช ืื ืขืืืื ืืืชื ืืฉ ืืืขืืคืืช ืกืคืฆืืคืืืช ืืฆืืืช ืื ืืืืกืืืืช ืขืืฆืื ืืืืจื ืืืช.
ืืขืจื ืืืืืื ืฉืื ืกืืื ืืืืชื ืืฉืชื ื. ืืืืืื ืฉ-GoLint ืืืจ ืื ื ืืฆื ืืคืืชืื ืคืขืื, ืืื ืืื ื ืืชืคืชื ืขื ืืฉืคื. ืืืชืื ืฉืืื ืืคืกืคืก ืืขืืืช ืกืื ืื ืฉืืืฆืื ืขื ืืื ืืจืกืืืช ืืืฉืืช ืืืชืจ ืฉื Go ืื ื ืืืื ืกืืืื ืื ืืฉืืื ืืืื ืืงืืืืื ืื ืืืืืืืืืื.
GoLint ืืขืืชืื ืงืจืืืืช ืืืืฆืจ ืืืืจืืช ืฉืื ืกืืืืืงืืืืืืช ืืืื ืืืืงื ืืขืืืชืืืช. ืืืง ืืืฆืืืชืื ืืืฆืืื ืืช ืืืชืจืืืช ืืืชืจ ืืกืืืืช ืืขืช ืืืฉืจ ืืืขืืืืช, ืืืืืื ืืืกืืกื ืงืื ืืืืืื ืฉืืื ืืคืจืืช ืกืื ืื ืงืืืช ืจืืืช ืขืฉืืืืช ืฉืื ืืืฉืคืืข ืขื ืืคืื ืงืฆืืื ืืืืช ืื ืืืืืจืืช.
ืืื ืืื ื ืืฉืชืื ืขื ืืืืืื Go ืืฆืืจื ืืืงื. ืืืจืืช ืฉืืื ืืืื ืืคืขืื ืขื ืคืจืืืงืืื ืืืืกืกื ืืืืืืื, ืืื ืืกืจ ืชืืืื ืืคืชืจืื ืชืืืช ืืขืืืง ืืืชืจ ืื ืืืื ื ืฉื ืืืืืืช ืืืืืืื. ืื ืืืืื ืืช ืืขืืืืชื ืืคืจืืืงืืื ืฉื ืืื ืืจืคื ืื ืืจืืื ืืืืืืื.
ืืคืจืืืงืืื ืืืืจื ืืื ืจืืื ืฉื Go, GoLint ืืืืืฃ ืืืืื ืฉืคืืชืื ืืืืคื ืคืขืื ืืืชืจ ืืื revive, ืืืกืคืงืื ืืืืคื ืืกืื ืื ืืืื ืขื ืืืืืช ืชืฆืืจื, ืืืฆืืขืื ืืืืืจืืช ืืืืื ืืืืื ืืืชืจ.
GoLint ืืชืืืื ืืืืชืจ ืืืฉืื ืงื ืืืืืจ ืขื ืืขืืืช ืกืื ืื ืืกืืกืืืช. ืืื ืขืืืื ืืืืื ืืกืคืง ืขืจื ืืคืจืืืงืืื ืงืื ืื ืื ืืืกืืกื ืงืื ืืืืจ ืงืืื ืฉืืื ืืืืืื ืฉืื ืืืจ ืชืืืืื ืืชืงื ืื ืงืืืืื. ืืฉืืืืฉ ืืจืื ืืืื ืื ืืื-ืฆืืืชื, ืืืื ืืืฉืื ืืืชืจ ืืฆืืขืื ื ืชืื ืืืืฉ ืืืจ-ืชืืืืงื ืืืชืจ ืงืืืื.
GoCallGraph
GoCallGraph ืืื ืืื ื ืืชืื ืกืืื ืืืขืืื ืฉื ืืขื ืืืฆืืจ ืืจืคื ืงืจืืื ืืงืื ืืืงืืจ ืฉื Go. ืืื ืืืคื ืงืฉืจืื ืืื ืคืื ืงืฆืืืช, ืืขืืืจ ืืืคืชืืื ืืืืืื ืืืฆื ืืืืฆืืข ืืืจื ืืจื ืชืืื ืืช. ืชืืื ื ืื ืฉืืืืฉืืช ืืืืืื ืืืื ืช ืืจืืืืงืืืจืช ืงืื, ืืขืงื ืืืจ ืชืืืืืช, ืืืืื ืืืืืืื ืืงืืฉืจืื ืืืื ืืืื ื ืืจืคืงืืืจืื ื.
ืืืื ืื ืชื ืืช ืืืกื ืืงืจืืื ืืื ืคืื ืงืฆืืืช ืืฉืืืืช, ืืืื ืืคืืง ืืช ืืชืืฆืืืช ืืคืืจืืืื ืฉื ืืจืคืื ืืืื DOT, ืืืชื ื ืืชื ืืขืื ืืืืฆืขืืช ืืื ืืืืืืืืืฆืื ืืื Graphviz. ืืืกืืกื ืงืื ืืืืืื ืืืชืจ, GoCallGraph ืขืืืจ ืืืคืชืืื ืืขื ืืช ืขื ืฉืืืืช ืืื ืืืื ืคืื ืงืฆืืืช ื ืงืจืืืช ืขื ืืื ืืืืื ืกืคืฆืืคื, ืืืื ื ืชืืืื ืืืืืืื ืืคืื ืงืฆืื ืงืจืืืืช, ืื ืืืฆื ื ืืฆืจืืช ืชืืืืืช ืจืงืืจืกืืืืืช.
ื ืืชื ืืืฉืชืืฉ ื-GoCallGraph ืืืืงืืจืืช, ืืคืืฉื ืงืืืื ืืชืื ืื ืจืคืงืืืจืื ื. ืืื ืืืกืืฃ ืืื ื ืืืกืืกื ืงืื ืืืงืืืืช ืืื ืืื ืช ืืชื ืืืืช ืืื ืจืืฆื ืขื ืืื ืงืจืืืช ืงืื ืืงืืจ ืืืื ืชืืื ืงืฉื ืื ืืืืืช ืืื.
ืืืืืืช ืืฉืืงืืืื ืฉื GoCallGraph
ืืืจืืช ืฉ-GoCallGraph ืืกืคืง ืชืืื ืืช ืืจืืืืงืืื ืืืช ืืฉืืืืช, ืืฉ ืื ืืกืคืจ ืืืืืืช ืืฉืืืืช ืืืฉืคืืขืืช ืขื ืชืืืืชื ืืืจืืืืช ืขืืืื ืืืจืืืืช ืื ืืืืจื ืืืช.
ืืืื ืืืืฆืจ ืืจืคืื ืกืืืืื ืฉื ืงืจืืืืช ืืืื ืืืืืช ืืช ืืชื ืืืืช ืืชืืื ืืช ืืคืืขื. ืืื ืืื ื ืืืืื ืืื ืงืจืืืืช ืืืชื ืืช, ืืืฆืืข ืคืื ืงืฆืืืช ืขืงืืคืืช ืืจื ืืืฉืงืื, ืื ืงืจืืื ืืืืกืกืช ืืฉืชืงืคืืช. ืืืจ ืื ืขืืื ืืืืืื ืืงืฆืืืช ืงืจืืื ืืกืจืื ืื ืืืืฆืืื ืืฆืืจื ืื ืืืืืงืช, ืืืืืื ื-Go ืืืืืืืื ืืืฉืชืืฉ ืืืืื ืจืื ืืืืฉืงืื ืื ืืืืจืงืช ืชืืืืืช.
ืืฉ ืื ืชืืืื ืืืืืืช ืืืงืืืืืืช. ืฉืืจืืช GO ืื ืชืืื ืืืฆืืข ืืืืกืกื ืขืจืืฆืื ืืื ื ื ืืืืื ืืืจืคื ืงืจืืืืช, ืื ืฉืืืืจ ืฉืืืื ืืื ื ืืืืฆื ืืจืืืช ืืืฆืืข ืื-ืืื ืืช ืื ืืกืื ืืจืื ืืช. ืขืืืจ ืืืฉืืืื ืืงืืืืื ืืืื, ืื ืืืื ืืืฆืื ืชืืื ื ืื ืฉืืื ืฉื ืืืคื ืืคืขืืื ืืคืืขื ืฉื ืืืขืจืืช.
GoCallGraph ืืื ื ืืชืงืคื ืืืื ืขืืืจ ืืกืืกื ืงืื ืืืืืื ืืืื. ืืคืื ืืืื ืืืืืช ืขืืืก ืื ืืืจืื ืืื ืื ืืืื, ืืืืืื ืื ืืฉ ืืืคื ืคืื ืงืฆืืืช ืืชืืืช ืืืืืช ืจืืืช. ืืื ืชืืืื ืืกืื ืื ืื ืงืืืืฅ, ืืืจืคืื ืขืืืืื ืืืืืช ืงืฉืื ืืื ืืคืืจืืฉ ืืื ืขืืืื ืืื ื ืืฉืืขืืชื ืืืืจ ืืื.
ืืื ืืื ื ืืฆืืข ืืืฉืง ืืจืคื. ืืืื ืืคืืง ืงืืฆื ืืจืฃ ืืืืืืื ืืืืจืฉืื ืขืืืื ืืคืจืฉื ืืช ืืืฆืื ืืื. ืฆืืืชืื ืืืืืื ืืืฉืชืืฉ ืืืื ืืืืืืืืืฆืื ืฉื ืฆื ืฉืืืฉื ืืื ืืืืฅ ืชืืื ืืช ืืขืฉืืืช, ืื ืฉืืืกืืฃ ืืืืื ืืืืืืฅ ืืกืืืืืช ืื ืืื ืืืช.
ืืื ืชืืืื ืืืขืจืืช ืกืื ืืืืช. ืืืจืคืื ืืฆืืืื ืจืง ืฉืืืช ืคืื ืงืฆืืืช ืืงืฆืืืช ืงืจืืื. ืื ืืื ื ืืืืืื ืืื-ืืืื ืืืื ืืงืฉืจ ืืืืื, ืืืงืืื ืงืืฆื ืืงืืจ, ืชืืืจืืช ืืืฆืืข ืื ืืืจืืืืช ืงืื. ืื ืืืืื ืืช ืืืืืืช ืืงืฉืจ ืืช ืืื ื ืืจืฃ ืืงืจืืื ืขื ืชืืืืงื ืื ืืืฆืืขืื.
GoCallGraph ืืฉืืฉ ืืฆืืจื ืืืืื ืืืืชืจ ืื ืืชืื ืืืจืืืื ืืืืื ืช ืชืืืืืช ืืจืืช ืืคืื ืงืฆืื ืืืืฉืืื Go ืงืื ืื ืขื ืืื ืื ืืื. ืืงืืืช ืชืืื ืืช ืกืื ืืืืช ืืขืืืงืืช ืืืชืจ, ืืฆืืจืช ืคืจืืคืืืื ืืืื ืจืืฆื ืื ืืืืืืืืืฆืื ืฉื ืืจืืืช ื ืชืื ืื, ืืฉ ืืฉืื ืืืชื ืขื ืืืื ืืชืงืืืื ืืืชืจ.
ืื-ืคืื
ืื-ืคืื ืืื ืืื ืืืืงืืช fuzz ืจื ืขืืฆืื ืฉืคืืชื ืืืืืื ืขืืืจ Go. ืืื ืืืคืฉืจ ืืืคืชืืื ืืืืฆืจ ืืืืฆืข ืืืืคื ืืืืืืื ืงืื ืืงืจืื ืื ืื ืคืื ืงืฆืืืช Go ืขื ืื ืช ืืืฉืืฃ ืงืจืืกืืช, ืคืื ืืงืืช ืื ืคืืืื ืืืืืื ืืืชื ืฆืคืืืื. ืื ืืืื ืืืื ื ืืชืื ืกืืื ืืกืืจืชืืื ืฉืืืืงืื ืงืื ืืื ืืืฆืืข, Go-Fuzz ืืกืคืง ื ืืชืื ืืื ืื ืขื ืืื ืืคืขืืช ืคืื ืงืฆืืืช ืืืืงื ืขื ืืืืืืช ืืืืืืช ืฉื ื ืชืื ื ืงืื ืกืื ืชืืืื.
ืืืื ืคืืขื ืขื ืืื ืขืืืื ืงืื ืืฉืืืืฉ ืืื ืืข ืืืืกืก ืืืืฆืืืช ืืื ืืคืชื ืงืืืื ืืืืืขืื ืื ืชืืื ืงืื ืืืฉืื. ืขื ืืืื, ืืื ืืืื ืืืฉืืฃ ืคืืืขืืืืช ืืืื ืืฉืืื ืืืืืืช ืงืื, ืคืื ืืงืืช ืืงืืืขืช ืกืืืื, ืืืืืืช ืืื ืกืืคืืืช ืื ืืงืจื ืงืฆื ื ืกืชืจืื ืืืืืืงื ืขืกืงืืช. Go-Fuzz ืืขืื ืืืืืื ืืืืืงืช ืื ืชืืื, ืืคืขื ืืื, ืืืคืื ืคืจืืืืงืืืื ืืื ืคืื ืงืฆืื ืืืงืืืช ืงืื ืืืื ื.
ืืื ืืฉืชืื ืขื ืงืื ืืืืืงื ืฉื Go ืืืืจืฉ ืจืง ืคืื ืงืฆืืืช ืขืืืคื ืคืฉืืื ืืื ืืืชืืื ืืืฆืข fuzzing. ืืืืจ ืืืืจืช ืืชืฆืืจื, ืืื ืืืื ืืคืขืื ืืจืฆืืคืืช ืืืืฉืืฃ ืืืืื ืคืื ืงืฆืืื ืืืื ืขืืืงืื ืฉืืืื ืกืืืืื ืืื ื ืืชืืื ื ืื ืืืืืช.
ืืืืืืช ืืืชืืจืื ืฉื Go-Fuzz
ืืขืื ืฉ-Go-Fuzz ืืื ืืื ืืืืงื ืืขื ืขืจื, ืืขืืืืชื ืชืืืื ืืืกืคืจ ืืืจืืื ืืืืืืืื ืืช ืืืืช ืืืืฉืื ืืจืื ืฉืื ืืคืจืืืงื.
ืื ืืืจืฉ ืงืื ืืจ ืืืฆืืข ืืื ืืชืคืงื. Go-Fuzz ืืื ื ืื ืชื ืงืื ืืงืืจ ืกืืื ืื ืชืืืืจ ืืฉืืจืืช. ืืื ืืืื ืืืคืขืื ืืช ืคืื ืงืฆืืืช ืืืขื ืฉืื ืืฉืื, ืื ืฉืืืืจ ืฉืืื ืืื ื ืืืื ืืืืืช ืืขืืืช ืืงืื ืฉืืื ื ื ืืืฉ ืื ืืขื ืคืื ืื ืคืขืืืื ืฉืืขืืื ืื ืืืคืขืืื ืืืืื fuzzing.
ืชืืืื ืืืชืงื ื ืืืื ืืืืืช ืืืจืื ืขืืืจ ืืฉืชืืฉืื ืืืฉืื. ืืืจืืช ืฉืคืื ืงืฆืืืช ืืกืืกืืืช ืฉื ืืฆืืจืช ืงืื ืื ืคืฉืืืืช, ืืฉืืช ืชืืฆืืืช ืืฉืืขืืชืืืช ืืืจืฉืช ืืขืชืื ืงืจืืืืช ืืชืืืช ืคืื ืงืฆืืืช ืจืชืื ืืืชืืืืช ืืืฉืืช, ืืจืืขืช ืงืื ืืืืืื ืื ืืกืืจืืืืืช ืืืืืฆืื. ืืื ืชืฆืืจื ืืืฉืืืช, ืืืื ืขืืื ืืืืื ืืื ืืืงืืจืช ื ืชืืื ืงืื ืื ืจืืืื ืืืื.
ืืืืกืื ืืื ื ืฉืื ืืืืขื. ืืืืงืืช Fuzzing ืืืงืจืื ืืจืืื ืงืื ืืืืคื ืกืืืืกืื ืืืื ื ืืืืืืช ืืืืืื ืืืกืื ืงืื ืืื. ืืืชืื ืฉืืขืืื ืื ืืืฉืื ื ืชืืืื ืืกืืืืื, ืืืืืื ืืื ืื ืฉืืืื ืขื ืืื ืชื ืืื ืืืืืงืื ืื ืืืืืงื ืจื-ืฉืืืืช. ืืคืชืืื ืืืืืื ืืืฉืืื ืืืืงืืช Fuzz ืขื ืืืืงืืช ืืืืื ืื ืืชืื ืกืืื ืืงืืืช ืืืืื ืืงืืคื.
Go-Fuzz ืืื ื ืืืืข ืืืงืืืืืืช. ืืื ืืื ื ืืืื ืชื ืื ืืจืืฅ ืื ืืขืืืช ืกืื ืืจืื ืืงืื ืืจืืื ืืืืืื. ืคืื ืงืฆืืืช ืืืืืืืช ืฉืืจืืช, ืขืจืืฆืื ืื ืืืืจืื ืืฉืืชืฃ ืืืืืืช ืืืืืืง ืืืืฆืขืืช ืืื ืืืื ืืืจืืฆืื ืืืืขืืืืื ืฉื Go ืื ืืื ื ืืชืื ืืงืืืืืืช.
ื ืืฆืื ืืฉืืืื ืืืื ืืืืืช ืืฉืืขืืชื. ืืืืงืืช fuzz ืืจืืืืช ืืืื ืขืฉืืืืช ืืฆืจืื ืืขืื ืืืืืจืื ื ืืืจืื, ืืืืืื ืขื ืงืืืื ืืืืืื ืื ืงืื ืจืงืืจืกืืื ืขืืืง. ืืขืชืื ืงืจืืืืช ืื ืืขืฉื ืืืืื ืืช Go-Fuzz ืืกืืืืืช CI ืืืื ืืืืืื ืืช ืืื ืืจืืฆื ืื ืืืฉืชืืฉ ืืกืืืืืืช ืืืืงืืช ืืืืืืืช.
ืืืจืืช ืืืืืืช ืืื, Go-Fuzz ื ืืชืจ ืืื ืืืืื ืืืขืืืื ืืืืชืจ ืืืฆืืืช ืืืืื ืื ืืจืืจืื ืืืื ืจืืฆื ืืจืืืื Go ืงืจืืืืื. ืืื ืืฉืืื ื ืืชืื ืกืืื ืขื ืืื ืืชื ืืืืืช ืืขืืื ืืืืืชื ืืืืฆืขืืช ืืืฆืืข ืืงืจืื ืืืกืืืข ืืืืืื ืฉืืชืืื ื ืืชื ืืืช ืืืืื ืชืืช ืงืื ืื ืฆืคืื ืื ืคืืื.
ืฉืืืื ืืืืืืช ืงืื Go ืขื ืชืืื ืืช ืกืืืืืช ืืืื ืืืืช
ื ืืชืื ืกืืื ืืืื ืชืคืงืื ืืกืืื ืืคืืชืื Go ืืืืจื ื. ืืื ืืืืืื ืืขืืืช ืกืื ืื ืืืฉืชื ืื ืฉืืื ื ืืฉืืืืฉ ืืขื ืืืืืื ืคืืื ืืงืืืืืืช ืืคืืืขืืืืช ืืืืขืืช, ืื ืืื ืืืขืจืืช ืืืงืืืืืืช ืฉื Go ืืฉืจืช ืืืจื ืกืคืฆืืคืืช. ืืื ืฉืืกืืกื ืืงืื ืืชืจืืืื ืืฆื ืจืช ืืคืืชืื ืืืคืืช ืืชืืืืืช ืืืชืจ, ืืฃ ืืื ืืืื ืืื ื ืืกืคืืง ืืคื ื ืขืฆืื. ืืืงืื ืืืช, ืืืกืืจืืืืืช ืืืขืืืืช ืืืืชืจ ืืฉืืืืช ืืื ืขืืจ ืงืืื, ืกืืจืงื ืืืืื, ืื ืชืื ืืจืืืืงืืืจื ืืืคืืื ืืื ืขืืจ ืืืื ืจืืฆื ืืื ืืกืคืง ืชืืื ืืช ืฉืืืชืืืช ืืืืจื ืื ืืืืืจ ืืื ืืชืืื ื.
ืืืื ืืื golangci-lint, staticcheck, ื revive ืืฆืืื ืื ืืืืืืื ืช ืงืื ืืืืืืืืช, ืืืืคืฉืจืื ืืฉืื ืืืืจ ืืืืืคืช ืขืงืืืืช. ืืื ืชืืื, ืืืื ืืืืงืื ืืืืื ืืืื gosec, govulncheck, ื OWASP Dependency-Check ืืฆืืขืื ืืื ื ืืืื ืืช ืืคื ื ืืืืืื ืืืืขืื ืืืคืืกืื ืื ืืืืืื. ืขืืืจ ืฆืืืชืื ืฉืฆืจืืืื ืืืืืื ืืืจืืืืช ืื ืืืฆืืจ ืงืฉืจืื, GoCyclo ื GoCallGraph ืืกืคืงืื ื ืจืืืช ืืืจืืืืืช ืืฉืืื. ืืืฆืืจื ืืืืืช ืืชืงืื, ืขืจืืืืืืช ืืื Go-Fuzz ืืื ืชืืื ืืื CodeQL ืืกืคืง ืขืจืืืืืช ืขืืืงืืช ืืืชืจ ืขื ืืื ืกืืืืืฆืืืช ืืืฆืืข ืื ืืืืื ืืชื ืืืืช ื ืชืื ืื ืืงื ื ืืืื ืืืื.
ืืืืจืช ืืชืืืื ืื ืืื ืชืืืื ืืืืจืืช ืฉืืื. ืกืืืจื-ืืคืื ืขืฉืืืื ืืชืช ืขืืืคืืช ืืืืืจืืช ืืืคืฉืืืช, ืืืืกืชืื ืขื ืืืืืืช ืงืื ืืฆืืืฆืืืช. ืืจืืื ืื ืขื ืืจืืฉืืช ืชืืืืืช ืื ืืืืื ืืืืืจืืช ืืืื ื ืืืืื ืืชืืืืื ืืืขืงื ืืืจ ืืืืืืื, ื ืืชืื ืืจืืืช ืืงืจื ืืืืงืืจืช ืคืืืขืืืืช. ืืกืืกื ืงืื ืืืืจ ืงืืื ืืืจืฉืื ืืขืชืื ืงืจืืืืช ืืื ื ืืงืื ืืืขืืืืื ืืื deadcode, ืืขืื ืฉืฆืืืชืื ืฉืขืืืจืื ืืืืจื ืืืฆืื ืฉื ืืืจืืืืงืืืจื ืขืฉืืืื ืืคื ืืช ืืคืชืจืื ืืช ืืืืชืืื ืื ืืืืกืกื ืืืืื.
ืืืขืจืืช ืืืงืืืืืืช ืฉื Go ืืืฉืืื ืืืชืคืชื, ืืื ืื ืืืืื ืืชืืืืื ืื. ืขื ืืื ืืื ืช ืืืืงืื, ืืืืืืืช ืืืืืงืืช ืืืื ืืืจืฆืื ืฉื ืื ืคืชืจืื ื ืืชืื ืกืืื, ืฆืืืชื ืคืืชืื ืืืืืื ืืืฆืืจ ืฉืจืฉืจืช ืืืื ืืืชืืืช ืืืฉืืช ืฉืชืืืง ืืช ืืืืืช ืืงืื, ืชืืืืจ ืืช ืืืืืืื ืืขืืืื ืืืืฉ ืืชืืคืฉืจ ืืกืคืงืช ืชืืื ื ืืืืืืืช ืื ืืชื ืช ืืชืืืืงื.