Preparing report...

Report for github.com/mh-cbon/dht

A+    Excellent!    Found 9 issues across 67 files

Tweet

gofmt95%

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


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!


golint98%

Golint is a linter for Go source code.

    • dht/ed25519/internaledwards25519/edwards25519.go
    • Line 18: warning: exported function FeZero should have comment or be unexported (golint)
    • Line 22: warning: exported function FeOne should have comment or be unexported (golint)
    • Line 27: warning: exported function FeAdd should have comment or be unexported (golint)
    • Line 40: warning: exported function FeSub should have comment or be unexported (golint)
    • Line 53: warning: exported function FeCopy should have comment or be unexported (golint)
    • Line 57: warning: comment on exported function FeCMove should be of the form "FeCMove ..." (golint)
    • Line 92: warning: exported function FeFromBytes should have comment or be unexported (golint)
    • Line 219: warning: exported function FeIsNegative should have comment or be unexported (golint)
    • Line 225: warning: exported function FeIsNonZero should have comment or be unexported (golint)
    • Line 258: warning: exported function FeCombine should have comment or be unexported (golint)
    • Line 505: warning: exported function FeInvert should have comment or be unexported (golint)
    • Line 630: warning: exported type ProjectiveGroupElement should have comment or be unexported (golint)
    • Line 634: warning: exported type ExtendedGroupElement should have comment or be unexported (golint)
    • Line 638: warning: exported type CompletedGroupElement should have comment or be unexported (golint)
    • Line 642: warning: exported type PreComputedGroupElement should have comment or be unexported (golint)
    • Line 646: warning: exported type CachedGroupElement should have comment or be unexported (golint)
    • Line 650: warning: exported method ProjectiveGroupElement.Zero should have comment or be unexported (golint)
    • Line 656: warning: exported method ProjectiveGroupElement.Double should have comment or be unexported (golint)
    • Line 670: warning: exported method ProjectiveGroupElement.ToBytes should have comment or be unexported (golint)
    • Line 680: warning: exported method ExtendedGroupElement.Zero should have comment or be unexported (golint)
    • Line 687: warning: exported method ExtendedGroupElement.Double should have comment or be unexported (golint)
    • Line 693: warning: exported method ExtendedGroupElement.ToCached should have comment or be unexported (golint)
    • Line 700: warning: exported method ExtendedGroupElement.ToProjective should have comment or be unexported (golint)
    • Line 706: warning: exported method ExtendedGroupElement.ToBytes should have comment or be unexported (golint)
    • Line 716: warning: exported method ExtendedGroupElement.FromBytes should have comment or be unexported (golint)
    • Line 762: warning: exported method CompletedGroupElement.ToProjective should have comment or be unexported (golint)
    • Line 768: warning: exported method CompletedGroupElement.ToExtended should have comment or be unexported (golint)
    • Line 775: warning: exported method PreComputedGroupElement.Zero should have comment or be unexported (golint)
    • Line 941: warning: exported function PreComputedGroupElementCMove should have comment or be unexported (golint)
    • Line 1016: warning: comment on exported function ScMulAdd should be of the form "ScMulAdd ..." (golint)
    • Line 1449: warning: comment on exported function ScReduce should be of the form "ScReduce ..." (golint)

gocyclo88%

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.

    • dht/main.go
    • Line 41: warning: cyclomatic complexity 74 of function main() is high (> 15) (gocyclo)
    • dht/bucket/bucket_test.go
    • Line 721: warning: cyclomatic complexity 40 of function TestClosest() is high (> 15) (gocyclo)
    • Line 535: warning: cyclomatic complexity 26 of function TestUpdate() is high (> 15) (gocyclo)
    • Line 159: warning: cyclomatic complexity 25 of function TestAdd() is high (> 15) (gocyclo)

ineffassign98%

IneffAssign detects ineffectual assignments in Go code.

    • dht/ed25519/internaledwards25519/edwards25519.go
    • Line 1165: warning: ineffectual assignment to s23 (ineffassign)
    • Line 1173: warning: ineffectual assignment to s22 (ineffassign)
    • Line 1181: warning: ineffectual assignment to s21 (ineffassign)
    • Line 1189: warning: ineffectual assignment to s20 (ineffassign)
    • Line 1197: warning: ineffectual assignment to s19 (ineffassign)
    • Line 1205: warning: ineffectual assignment to s18 (ineffassign)
    • Line 1248: warning: ineffectual assignment to s17 (ineffassign)
    • Line 1256: warning: ineffectual assignment to s16 (ineffassign)
    • Line 1264: warning: ineffectual assignment to s15 (ineffassign)
    • Line 1272: warning: ineffectual assignment to s14 (ineffassign)
    • Line 1280: warning: ineffectual assignment to s13 (ineffassign)
    • Line 1379: warning: ineffectual assignment to s12 (ineffassign)
    • Line 1487: warning: ineffectual assignment to s23 (ineffassign)
    • Line 1495: warning: ineffectual assignment to s22 (ineffassign)
    • Line 1503: warning: ineffectual assignment to s21 (ineffassign)
    • Line 1511: warning: ineffectual assignment to s20 (ineffassign)
    • Line 1519: warning: ineffectual assignment to s19 (ineffassign)
    • Line 1527: warning: ineffectual assignment to s18 (ineffassign)
    • Line 1572: warning: ineffectual assignment to s17 (ineffassign)
    • Line 1580: warning: ineffectual assignment to s16 (ineffassign)
    • Line 1588: warning: ineffectual assignment to s15 (ineffassign)
    • Line 1596: warning: ineffectual assignment to s14 (ineffassign)
    • Line 1604: warning: ineffectual assignment to s13 (ineffassign)
    • Line 1703: warning: ineffectual assignment to s12 (ineffassign)

license100%

Checks whether your project has a LICENSE file.

No problems detected. Good job!


misspell100%

Misspell Finds commonly misspelled English words

No problems detected. Good job!