cyclomatic
1.0.0
GO Cyclomatic Complexity Command and analysis.Analyzer .
Penting untuk menjaga fungsi Anda tetap sederhana dan bebas dari kesalahan. cyclomatic membuat Anda tahu kapan fungsi Anda menjadi terlalu rumit dan rawan kesalahan.
Pertama, instal perintah cyclomatic melalui go get .
$ go get github.com/ichiban/cyclomatic/cmd/cyclomatic Kemudian, jalankan perintah cyclomatic di direktori paket Anda.
$ 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 Juga, Anda dapat melonggarkan batas dengan bendera -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 Pertama, instal paket via go get .
$ go get github.com/ichiban/cyclomatic Kemudian, sertakan cyclomatic.Analyzer di pemeriksa Anda.
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 ,
)
}Untuk setiap definisi fungsi:
if atau for , menambah kompleksitas&& atau || , menambah kompleksitasswitch atau select , tingkatkan kompleksitas dengan jumlah nilai yang tercantum setelah case s Proyek ini dilisensikan di bawah lisensi MIT - lihat file lisensi.md untuk detailnya
Paket ini didasarkan pada paket -paket ini tetapi sedikit berbeda tentang cara menghitung kompleksitas: