Preparing report...

Report for github.com/gentee/gentee

A+    Excellent!    Found 28 issues across 70 files

Tweet

gofmt100%

Gofmt formats Go programs. We run gofmt -s on your code, where -s is for the "simplify" command

No problems detected. Good job!


go_vet100%

go vet examines Go source code and reports suspicious constructs, such as Printf calls whose arguments do not align with the format string.

No problems detected. Good job!


golint77%

Golint is a linter for Go source code.

    • gentee/vm/vm.go
    • Line 18: warning: exported const STACKSIZE should have comment (or a comment on this block) or be unexported (golint)
    • Line 27: warning: exported const SysSuspend should have comment (or a comment on this block) or be unexported (golint)
    • Line 32: warning: exported type Settings should have comment or be unexported (golint)
    • Line 46: warning: exported type Const should have comment or be unexported (golint)
    • Line 72: warning: exported type OptValue should have comment or be unexported (golint)
    • Line 122: warning: exported function Run should have comment or be unexported (golint)
    • gentee/core/const.go
    • Line 12: warning: exported const ConstIotaID should have comment (or a comment on this block) or be unexported (golint)
    • Line 29: warning: exported const ConstRecursive should have comment (or a comment on this block) or be unexported (golint)
    • gentee/vm/archive.go
    • Line 21: warning: exported type UnzipFile should have comment or be unexported (golint)
    • Line 26: warning: exported type ZipFile should have comment or be unexported (golint)
    • Line 32: warning: exported type GzFile should have comment or be unexported (golint)
    • Line 39: warning: exported type UntargzFile should have comment or be unexported (golint)
    • Line 46: warning: exported type Pack should have comment or be unexported (golint)
    • Line 51: warning: exported method ZipFile.FileName should have comment or be unexported (golint)
    • Line 55: warning: exported method ZipFile.Header should have comment or be unexported (golint)
    • Line 69: warning: exported method GzFile.FileName should have comment or be unexported (golint)
    • Line 73: warning: exported method GzFile.Header should have comment or be unexported (golint)
    • Line 88: warning: exported function ArchiveName should have comment or be unexported (golint)
    • Line 101: warning: exported function CompressFile should have comment or be unexported (golint)
    • gentee/vm/playground.go
    • Line 17: warning: exported const NoLimit should have comment (or a comment on this block) or be unexported (golint)
    • Line 23: warning: exported type Playground should have comment or be unexported (golint)
    • Line 35: warning: exported type PlaygroundFS should have comment or be unexported (golint)
    • Line 69: warning: exported function PlaygroundAbsPath should have comment or be unexported (golint)
    • Line 79: warning: exported function PlaygroundSize should have comment or be unexported (golint)
    • Line 87: warning: exported function CheckPlaygroundLimits should have comment or be unexported (golint)
    • gentee/core/vars.go
    • Line 24: warning: exported type Indexer should have comment or be unexported (golint)
    • Line 86: warning: comment on exported type Obj should be of the form "Obj ..." (with optional leading article) (golint)
    • Line 397: warning: receiver name obj should be consistent with previous receiver name pobj for Obj (golint)
    • Line 408: warning: receiver name obj should be consistent with previous receiver name pobj for Obj (golint)
    • Line 421: warning: receiver name obj should be consistent with previous receiver name pobj for Obj (golint)
    • gentee/vm/crypto.go
    • Line 22: warning: exported const AESKey should have comment (or a comment on this block) or be unexported (golint)
    • Line 60: warning: exported function RandomBytes should have comment or be unexported (golint)
    • Line 66: warning: exported function DerivePassphrase should have comment or be unexported (golint)
    • Line 83: warning: exported function AESEncrypt should have comment or be unexported (golint)
    • Line 104: warning: exported function AESDecrypt should have comment or be unexported (golint)
    • Line 122: warning: comment on exported function RandomBuf should be of the form "RandomBuf ..." (golint)
    • Line 133: warning: comment on exported function AESEncryptBuf should be of the form "AESEncryptBuf ..." (golint)
    • Line 140: warning: comment on exported function AESDecryptBuf should be of the form "AESDecryptBuf ..." (golint)
    • gentee/vm/path.go
    • Line 61: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • gentee/vm/vars.go
    • Line 157: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • gentee/core/bytecode.go
    • Line 7: warning: exported type Bcode should have comment or be unexported (golint)
    • Line 9: warning: exported type Local should have comment or be unexported (golint)
    • Line 29: warning: exported type CodePos should have comment or be unexported (golint)
    • Line 37: warning: exported type StructInfo should have comment or be unexported (golint)
    • Line 43: warning: exported type Exec should have comment or be unexported (golint)
    • Line 70: warning: exported type AssignIntFunc should have comment or be unexported (golint)
    • Line 71: warning: exported type AssignFloatFunc should have comment or be unexported (golint)
    • Line 72: warning: exported type AssignStrFunc should have comment or be unexported (golint)
    • Line 73: warning: exported type AssignAnyFunc should have comment or be unexported (golint)
    • Line 78: warning: exported const TYPENONE should have comment (or a comment on this block) or be unexported (golint)
    • Line 106: warning: exported const STACKNONE should have comment (or a comment on this block) or be unexported (golint)
    • Line 114: warning: exported const NOP should have comment (or a comment on this block) or be unexported (golint)
    • Line 159: warning: comment on exported const DELVARS should be of the form "DELVARS ..." (golint)
    • Line 177: warning: comment on exported const LOCAL should be of the form "LOCAL ..." (golint)
    • gentee/gentee.go
    • Line 20: warning: exported const SysSuspend should have comment (or a comment on this block) or be unexported (golint)
    • Line 56: warning: exported type Progress should have comment or be unexported (golint)
    • Line 57: warning: exported type ProgressFunc should have comment or be unexported (golint)
    • Line 111: warning: exported function Customize should have comment or be unexported (golint)
    • Line 295: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • gentee/vm/struct.go
    • Line 17: warning: exported const TRACESTRUCT should have comment (or a comment on this block) or be unexported (golint)
    • Line 24: warning: exported const BININT should have comment (or a comment on this block) or be unexported (golint)
    • gentee/vm/file.go
    • Line 21: warning: exported const Recursive should have comment (or a comment on this block) or be unexported (golint)
    • Line 76: warning: exported function CloseFile should have comment or be unexported (golint)
    • Line 303: warning: exported function OpenFileºStr should have comment or be unexported (golint)
    • Line 342: warning: exported function ReadºFileInt should have comment or be unexported (golint)
    • gentee/vm/progress.go
    • Line 13: warning: exported const ProgressCopy should have comment (or a comment on this block) or be unexported (golint)
    • Line 26: warning: exported type Progress should have comment or be unexported (golint)
    • Line 40: warning: exported type ProgressFunc should have comment or be unexported (golint)
    • Line 42: warning: exported type ProgressReader should have comment or be unexported (golint)
    • Line 47: warning: exported type ProgressWriter should have comment or be unexported (golint)
    • Line 52: warning: exported function NewProgress should have comment or be unexported (golint)
    • Line 61: warning: exported function NewProgressReader should have comment or be unexported (golint)
    • Line 68: warning: exported function NewProgressWriter should have comment or be unexported (golint)
    • Line 91: warning: exported method Progress.Increment should have comment or be unexported (golint)
    • Line 104: warning: exported method Progress.Complete should have comment or be unexported (golint)
    • Line 111: warning: exported method Progress.Start should have comment or be unexported (golint)
    • Line 119: warning: exported function ProgressStart should have comment or be unexported (golint)
    • Line 129: warning: exported function ProgressInc should have comment or be unexported (golint)
    • Line 140: warning: exported function ProgressEnd should have comment or be unexported (golint)

gocyclo75%

Gocyclo calculates cyclomatic complexities of functions in Go source code. The cyclomatic complexity of a function is calculated according to the following rules: 1 is the base complexity of a function +1 for each 'if', 'for', 'case', '&&' or '||' Go Report Card warns on functions with cyclomatic complexity > 15.

    • gentee/vm/network.go
    • Line 137: warning: cyclomatic complexity 17 of function HTTPRequest() is high (> 15) (gocyclo)
    • Line 23: warning: cyclomatic complexity 17 of function Download() is high (> 15) (gocyclo)
    • gentee/compiler/compiler.go
    • Line 148: warning: cyclomatic complexity 48 of function Compile() is high (> 15) (gocyclo)
    • Line 341: warning: cyclomatic complexity 17 of function isEqualTypes() is high (> 15) (gocyclo)
    • gentee/compiler/exp.go
    • Line 423: warning: cyclomatic complexity 70 of function appendExpBuf() is high (> 15) (gocyclo)
    • Line 154: warning: cyclomatic complexity 65 of function popBuf() is high (> 15) (gocyclo)
    • gentee/compiler/linker.go
    • Line 230: warning: cyclomatic complexity 24 of function type2Code() is high (> 15) (gocyclo)
    • Line 37: warning: cyclomatic complexity 23 of function Link() is high (> 15) (gocyclo)
    • Line 163: warning: cyclomatic complexity 17 of function initBlock() is high (> 15) (gocyclo)
    • gentee/vm/vars.go
    • Line 19: warning: cyclomatic complexity 33 of function CopyVar() is high (> 15) (gocyclo)
    • Line 125: warning: cyclomatic complexity 16 of function newValue() is high (> 15) (gocyclo)

ineffassign95%

IneffAssign detects ineffectual assignments in Go code.


license100%

Checks whether your project has a LICENSE file.

No problems detected. Good job!


misspell98%

Misspell Finds commonly misspelled English words