Preparing report...

Report for github.com/boyter/hashit

A+    Excellent!    Found 4 issues across 9 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!


gocyclo77%

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.

    • hashit/processor/workers.go
    • Line 324: warning: cyclomatic complexity 40 of function processStandardInput() is high (> 15) (gocyclo)
    • Line 100: warning: cyclomatic complexity 39 of function processScanner() is high (> 15) (gocyclo)
    • Line 557: warning: cyclomatic complexity 23 of function processReadFileParallel() is high (> 15) (gocyclo)
    • Line 732: warning: cyclomatic complexity 23 of function processReadFile() is high (> 15) (gocyclo)
    • Line 21: warning: cyclomatic complexity 16 of function fileProcessorWorker() is high (> 15) (gocyclo)
    • hashit/processor/formatters.go
    • Line 123: warning: cyclomatic complexity 17 of function toText() is high (> 15) (gocyclo)
    • Line 68: warning: cyclomatic complexity 16 of function toSum() is high (> 15) (gocyclo)
    • Line 187: warning: cyclomatic complexity 16 of function auditFile() is high (> 15) (gocyclo)

golint66%

Golint is a linter for Go source code.

    • hashit/processor/workers.go
    • Line 108: warning: don't use underscores in Go names; var md4_d should be md4D (golint)
    • Line 109: warning: don't use underscores in Go names; var md5_d should be md5D (golint)
    • Line 110: warning: don't use underscores in Go names; var sha1_d should be sha1D (golint)
    • Line 111: warning: don't use underscores in Go names; var sha256_d should be sha256D (golint)
    • Line 112: warning: don't use underscores in Go names; var sha512_d should be sha512D (golint)
    • Line 113: warning: don't use underscores in Go names; var blake2b_256_d should be blake2b256D (golint)
    • Line 114: warning: don't use underscores in Go names; var blake2b_512_d should be blake2b512D (golint)
    • Line 115: warning: don't use underscores in Go names; var sha3_224_d should be sha3_224D (golint)
    • Line 116: warning: don't use underscores in Go names; var sha3_256_d should be sha3_256D (golint)
    • Line 117: warning: don't use underscores in Go names; var sha3_384_d should be sha3_384D (golint)
    • Line 118: warning: don't use underscores in Go names; var sha3_512_d should be sha3_512D (golint)
    • Line 125: warning: don't use underscores in Go names; var blake2b_256_c should be blake2b256C (golint)
    • Line 126: warning: don't use underscores in Go names; var blake2b_512_c should be blake2b512C (golint)
    • Line 127: warning: don't use underscores in Go names; var sha3_224_c should be sha3_224C (golint)
    • Line 128: warning: don't use underscores in Go names; var sha3_256_c should be sha3_256C (golint)
    • Line 129: warning: don't use underscores in Go names; var sha3_384_c should be sha3_384C (golint)
    • Line 130: warning: don't use underscores in Go names; var sha3_512_c should be sha3_512C (golint)
    • Line 329: warning: don't use underscores in Go names; var md4_d should be md4D (golint)
    • Line 330: warning: don't use underscores in Go names; var md5_d should be md5D (golint)
    • Line 331: warning: don't use underscores in Go names; var sha1_d should be sha1D (golint)
    • Line 332: warning: don't use underscores in Go names; var sha256_d should be sha256D (golint)
    • Line 333: warning: don't use underscores in Go names; var sha512_d should be sha512D (golint)
    • Line 334: warning: don't use underscores in Go names; var blake2b_256_d should be blake2b256D (golint)
    • Line 335: warning: don't use underscores in Go names; var blake2b_512_d should be blake2b512D (golint)
    • Line 336: warning: don't use underscores in Go names; var sha3_224_d should be sha3_224D (golint)
    • Line 337: warning: don't use underscores in Go names; var sha3_256_d should be sha3_256D (golint)
    • Line 338: warning: don't use underscores in Go names; var sha3_384_d should be sha3_384D (golint)
    • Line 339: warning: don't use underscores in Go names; var sha3_512_d should be sha3_512D (golint)
    • Line 346: warning: don't use underscores in Go names; var blake2b_256_c should be blake2b256C (golint)
    • Line 347: warning: don't use underscores in Go names; var blake2b_512_c should be blake2b512C (golint)
    • Line 348: warning: don't use underscores in Go names; var sha3_224_c should be sha3_224C (golint)
    • Line 349: warning: don't use underscores in Go names; var sha3_256_c should be sha3_256C (golint)
    • Line 350: warning: don't use underscores in Go names; var sha3_384_c should be sha3_384C (golint)
    • Line 351: warning: don't use underscores in Go names; var sha3_512_c should be sha3_512C (golint)
    • hashit/processor/processor.go
    • Line 15: warning: comment on exported var Version should be of the form "Version ..." (golint)
    • Line 30: warning: comment on exported var NoStream should be of the form "NoStream ..." (golint)
    • Line 33: warning: comment on exported var StandardInput should be of the form "StandardInput ..." (golint)
    • Line 36: warning: comment on exported var Hashes should be of the form "Hashes ..." (golint)
    • Line 39: warning: comment on exported var Hash should be of the form "Hash ..." (golint)
    • Line 58: warning: comment on exported var StreamSize should be of the form "StreamSize ..." (golint)
    • Line 61: warning: comment on exported var FileAudit should be of the form "FileAudit ..." (golint)
    • Line 64: warning: comment on exported var HashNames should be of the form "HashNames ..." (golint)
    • Line 85: warning: comment on exported function ProcessConstants should be of the form "ProcessConstants ..." (golint)

license100%

Checks whether your project has a LICENSE file.

No problems detected. Good job!


ineffassign88%

IneffAssign detects ineffectual assignments in Go code.


misspell100%

Misspell Finds commonly misspelled English words

No problems detected. Good job!