cyclomatic
1.0.0
사이클로 음향 복잡성 명령 및 analysis.Analyzer . Analyzer.
기능을 간단하고 오류없이 유지하는 것이 중요합니다. cyclomatic 기능이 너무 복잡하고 오류가 발생하기 쉬운시기를 알려줍니다.
먼저 go get 통해 cyclomatic 명령을 설치하십시오.
$ go get github.com/ichiban/cyclomatic/cmd/cyclomatic 그런 다음 패키지 디렉토리에서 cyclomatic 명령을 실행하십시오.
$ cyclomatic ./...
/Users/ichiban/src/example.com/package/foo.go:100:1: cyclomatic complexity of example.com/package.Foo exceeded limit 13 > 10
/Users/ichiban/src/example.com/package/foo.go:200:1: cyclomatic complexity of example.com/package.Bar exceeded limit 22 > 10 또한 -limit 플래그로 한계를 완화 할 수 있습니다.
$ cyclomatic -limit 15 ./...
/Users/ichiban/src/example.com/package/foo.go:200:1: cyclomatic complexity of example.com/package.Bar exceeded limit 22 > 15 analysis.Analyzer 먼저 go get 통해 패키지를 설치하십시오.
$ go get github.com/ichiban/cyclomatic 그런 다음 Checker에 cyclomatic.Analyzer 포함하십시오.
package main
import (
"golang.org/x/tools/go/analysis"
"golang.org/x/tools/go/analysis/multichecker"
"golang.org/x/tools/go/analysis/passes/nilfunc"
"golang.org/x/tools/go/analysis/passes/printf"
"golang.org/x/tools/go/analysis/passes/shift"
"github.com/ichiban/cyclomatic"
)
func main () {
multichecker . Main (
// other analyzers of your choice
nilfunc . Analyzer ,
printf . Analyzer ,
shift . Analyzer ,
cyclomatic . Analyzer ,
)
}각 기능 정의에 대해 :
if 복잡성을 증가 for 때&& 또는 || 볼 때 , 복잡성을 증가시킵니다switch 또는 select 볼 때 case S 이후에 나열된 값 수로 복잡성을 증가시킵니다. 이 프로젝트는 MIT 라이센스에 따라 라이센스가 부여됩니다. 자세한 내용은 License.md 파일을 참조하십시오.
이 패키지는이 패키지를 기반으로하지만 복잡성을 계산하는 방법에 대해서는 약간 다릅니다.