cyclomatic
1.0.0
Go Cyclomatic Command และ analysis.Analyzer
เป็นสิ่งสำคัญที่จะทำให้ฟังก์ชั่นของคุณง่ายและปราศจากข้อผิดพลาด cyclomatic ช่วยให้คุณรู้ว่าฟังก์ชั่นของคุณมีความซับซ้อนและผิดพลาดมากเกินไป
ก่อนอื่นให้ติดตั้งคำสั่ง cyclomatic ผ่าน go get
$ 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 จากนั้นรวม 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 สำหรับรายละเอียด
แพ็คเกจนี้ขึ้นอยู่กับแพ็คเกจเหล่านี้ แต่แตกต่างเล็กน้อยในการนับความซับซ้อน: เล็กน้อย: