go-interface-fuzzer icon indicating copy to clipboard operation
go-interface-fuzzer copied to clipboard

Cyclomatic complexity

Open barrucadu opened this issue 9 years ago • 1 comments

It would be nice to get this below 6 for all functions. Small simple functions are good.

michaelwalker on msw-pusher.local [branch: master] >>>  which cyc                                                                           ~/go/src/barrucadu/go-interface-fuzzer
cyc () {
        gocyclo -over $1 codegen.go interface.go main.go strings.go wanted.go
}

Example:

michaelwalker on msw-pusher.local [branch: master] >>>  cyc 5                                                                               ~/go/src/barrucadu/go-interface-fuzzer
11 main ParseType wanted.go:375:1
10 main CodeGen codegen.go:47:1
9 main FunctionsFromInterfaceType interface.go:184:1
9 main main main.go:60:1
9 main ParseLine wanted.go:169:1
9 main WantedFuzzerFromCommentGroup wanted.go:104:1
8 main WantedFuzzersFromAST wanted.go:71:1
7 main reconcileFuzzers main.go:26:1
7 main TypeFromTypeExpr interface.go:246:1

barrucadu avatar Jun 15 '16 11:06 barrucadu

Doing better, and gometalinter only actually complains about things >10:

12 main main main.go:61:1
11 main parseType wanted.go:452:1
11 main parseLine wanted.go:193:1
10 main WantedFuzzersFromCommentLines wanted.go:122:1
10 main CodeGen codegen.go:177:1
9 main FunctionsFromInterfaceType interface.go:173:1
7 main TypeFromTypeExpr interface.go:235:1
6 main WantedFuzzersFromAST wanted.go:74:1

barrucadu avatar Aug 17 '16 10:08 barrucadu