Preparing report...

Report for github.com/zeebo/blake3

A+    Excellent!    Found 19 issues across 33 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!


gocyclo100%

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.

No problems detected. Good job!


golint42%

Golint is a linter for Go source code.

    • blake3/internal/consts/consts.go
    • Line 3: warning: exported var IV should have comment or be unexported (golint)
    • Line 6: warning: exported const IV0 should have comment (or a comment on this block) or be unexported (golint)
    • Line 17: warning: don't use underscores in Go names; const Flag_ChunkStart should be FlagChunkStart (golint)
    • Line 17: warning: exported const Flag_ChunkStart should have comment (or a comment on this block) or be unexported (golint)
    • Line 18: warning: don't use underscores in Go names; const Flag_ChunkEnd should be FlagChunkEnd (golint)
    • Line 19: warning: don't use underscores in Go names; const Flag_Parent should be FlagParent (golint)
    • Line 20: warning: don't use underscores in Go names; const Flag_Root should be FlagRoot (golint)
    • Line 21: warning: don't use underscores in Go names; const Flag_Keyed should be FlagKeyed (golint)
    • Line 22: warning: don't use underscores in Go names; const Flag_DeriveKeyContext should be FlagDeriveKeyContext (golint)
    • Line 23: warning: don't use underscores in Go names; const Flag_DeriveKeyMaterial should be FlagDeriveKeyMaterial (golint)
    • Line 27: warning: exported const BlockLen should have comment (or a comment on this block) or be unexported (golint)
    • blake3/avo/avx2/hashF.go
    • Line 4: warning: should not use dot imports (golint)
    • Line 5: warning: should not use dot imports (golint)
    • Line 6: warning: should not use dot imports (golint)
    • Line 7: warning: should not use dot imports (golint)
    • Line 10: warning: exported function HashF should have comment or be unexported (golint)
    • Line 50: warning: don't use underscores in Go names; var flags_mem should be flagsMem (golint)
    • Line 51: warning: don't use underscores in Go names; var counter_mem should be counterMem (golint)
    • Line 54: warning: don't use underscores in Go names; var ctr_lo_mem should be ctrLoMem (golint)
    • Line 55: warning: don't use underscores in Go names; var ctr_hi_mem should be ctrHiMem (golint)
    • Line 59: warning: don't use underscores in Go names; var h_vecs should be hVecs (golint)
    • Line 60: warning: don't use underscores in Go names; var h_regs should be hRegs (golint)
    • Line 63: warning: don't use underscores in Go names; var ctr_low should be ctrLow (golint)
    • Line 64: warning: don't use underscores in Go names; var ctr_hi should be ctrHi (golint)
    • Line 65: warning: don't use underscores in Go names; var blen_vec should be blenVec (golint)
    • Line 66: warning: don't use underscores in Go names; var flags_vec should be flagsVec (golint)
    • blake3/avo/value.go
    • Line 7: warning: should not use dot imports (golint)
    • Line 8: warning: should not use dot imports (golint)
    • Line 9: warning: should not use dot imports (golint)
    • Line 52: warning: exported type Alloc should have comment or be unexported (golint)
    • Line 64: warning: exported function NewAlloc should have comment or be unexported (golint)
    • Line 91: warning: exported method Alloc.Debug should have comment or be unexported (golint)
    • Line 96: warning: exported method Alloc.FreeReg should have comment or be unexported (golint)
    • Line 105: warning: exported method Alloc.Free should have comment or be unexported (golint)
    • Line 149: warning: exported method Alloc.Value should have comment or be unexported (golint)
    • Line 168: warning: exported method Alloc.Values should have comment or be unexported (golint)
    • Line 176: warning: exported method Alloc.ValueFrom should have comment or be unexported (golint)
    • Line 182: warning: exported method Alloc.ValuesFrom should have comment or be unexported (golint)
    • Line 190: warning: exported method Alloc.ValueWith should have comment or be unexported (golint)
    • Line 196: warning: exported method Alloc.ValuesWith should have comment or be unexported (golint)
    • Line 270: warning: exported type Value should have comment or be unexported (golint)
    • Line 280: warning: exported method Value.Reg should have comment or be unexported (golint)
    • Line 293: warning: exported method Value.Become should have comment or be unexported (golint)
    • Line 347: warning: exported method Value.Free should have comment or be unexported (golint)
    • Line 352: warning: exported method Value.Consume should have comment or be unexported (golint)
    • Line 358: warning: exported method Value.ConsumeOp should have comment or be unexported (golint)
    • Line 364: warning: exported method Value.HasReg should have comment or be unexported (golint)
    • Line 375: warning: exported method Value.Touch should have comment or be unexported (golint)
    • Line 380: warning: exported method Value.GetOp should have comment or be unexported (golint)
    • Line 402: warning: exported method Value.Get should have comment or be unexported (golint)
    • blake3/api.go
    • Line 153: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • blake3/internal/alg/alg.go
    • Line 8: warning: exported function HashF should have comment or be unexported (golint)
    • Line 12: warning: exported function HashP should have comment or be unexported (golint)
    • Line 16: warning: exported function Compress should have comment or be unexported (golint)
    • blake3/avo/avx2/hashP.go
    • Line 4: warning: should not use dot imports (golint)
    • Line 5: warning: should not use dot imports (golint)
    • Line 6: warning: should not use dot imports (golint)
    • Line 7: warning: should not use dot imports (golint)
    • Line 10: warning: exported function HashP should have comment or be unexported (golint)
    • Line 44: warning: don't use underscores in Go names; var flags_mem should be flagsMem (golint)
    • Line 47: warning: don't use underscores in Go names; var h_vecs should be hVecs (golint)
    • Line 50: warning: don't use underscores in Go names; var ctr_low should be ctrLow (golint)
    • Line 51: warning: don't use underscores in Go names; var ctr_hi should be ctrHi (golint)
    • Line 52: warning: don't use underscores in Go names; var blen_vec should be blenVec (golint)
    • Line 53: warning: don't use underscores in Go names; var flags_vec should be flagsVec (golint)
    • Line 104: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • blake3/internal/utils/utils.go
    • Line 8: warning: exported function SliceToArray32 should have comment or be unexported (golint)
    • Line 9: warning: exported function SliceToArray64 should have comment or be unexported (golint)
    • Line 11: warning: exported function BytesToWords should have comment or be unexported (golint)
    • Line 30: warning: exported function WordsToBytes should have comment or be unexported (golint)
    • Line 50: warning: exported function KeyFromBytes should have comment or be unexported (golint)
    • blake3/avo/avx2/common.go
    • Line 4: warning: should not use dot imports (golint)
    • Line 5: warning: should not use dot imports (golint)
    • Line 6: warning: should not use dot imports (golint)
    • Line 7: warning: should not use dot imports (golint)
    • Line 23: warning: don't use underscores in Go names; const flag_chunkStart should be flagChunkStart (golint)
    • Line 24: warning: don't use underscores in Go names; const flag_chunkEnd should be flagChunkEnd (golint)
    • Line 25: warning: don't use underscores in Go names; const flag_parent should be flagParent (golint)
    • Line 90: warning: don't use underscores in Go names; func parameter lo_mem should be loMem (golint)
    • Line 90: warning: don't use underscores in Go names; func parameter hi_mem should be hiMem (golint)
    • Line 113: warning: don't use underscores in Go names; func parameter h_vecs should be hVecs (golint)
    • Line 113: warning: don't use underscores in Go names; func parameter h_regs should be hRegs (golint)
    • blake3/avo/avx2/ctx.go
    • Line 4: warning: should not use dot imports (golint)
    • Line 5: warning: should not use dot imports (golint)
    • Line 8: warning: exported type Ctx should have comment or be unexported (golint)
    • Line 17: warning: exported function NewCtx should have comment or be unexported (golint)

license100%

Checks whether your project has a LICENSE file.

No problems detected. Good job!


ineffassign100%

IneffAssign detects ineffectual assignments in Go code.

No problems detected. Good job!


misspell100%

Misspell Finds commonly misspelled English words

No problems detected. Good job!