Preparing report...

Report for github.com/mdy/melody

A+    Excellent!    Found 28 issues across 46 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!


gocyclo93%

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.


golint41%

Golint is a linter for Go source code.

    • melody/resolver/rubygem/version.go
    • Line 9: warning: comment on exported var VersionParser should be of the form "VersionParser ..." (golint)
    • Line 12: warning: comment on exported type Version should be of the form "Version ..." (with optional leading article) (golint)
    • Line 18: warning: exported method Version.Parse should have comment or be unexported (golint)
    • Line 23: warning: exported method Version.Compare should have comment or be unexported (golint)
    • Line 33: warning: exported method Version.MajorBump should have comment or be unexported (golint)
    • Line 38: warning: exported method Version.MinorBump should have comment or be unexported (golint)
    • melody/resolver/resolver.go
    • Line 8: warning: exported type Resolver should have comment or be unexported (golint)
    • Line 13: warning: exported function NewResolver should have comment or be unexported (golint)
    • Line 17: warning: exported method Resolver.Resolve should have comment or be unexported (golint)
    • Line 29: warning: exported type Resolution should have comment or be unexported (golint)
    • Line 50: warning: exported method Resolution.Resolve should have comment or be unexported (golint)
    • melody/resolver/errors.go
    • Line 8: warning: comment on exported type CircularDependencyError should be of the form "CircularDependencyError ..." (with optional leading article) (golint)
    • Line 18: warning: comment on exported type VersionConflictError should be of the form "VersionConflictError ..." (with optional leading article) (golint)
    • Line 48: warning: comment on exported method Conflicts.Dup should be of the form "Dup ..." (golint)
    • Line 57: warning: comment on exported type Conflict should be of the form "Conflict ..." (with optional leading article) (golint)
    • melody/resolver/ui.go
    • Line 12: warning: exported type UI should have comment or be unexported (golint)
    • Line 20: warning: exported function NewStdoutUI should have comment or be unexported (golint)
    • melody/provider/melody/cache.go
    • Line 9: warning: comment on exported type CacheFetchFunc should be of the form "CacheFetchFunc ..." (with optional leading article) (golint)
    • Line 12: warning: comment on exported type Cache should be of the form "Cache ..." (with optional leading article) (golint)
    • Line 19: warning: exported function NewCache should have comment or be unexported (golint)
    • Line 25: warning: exported method Cache.Fetch should have comment or be unexported (golint)
    • melody/provider/melody/melody.go
    • Line 24: warning: exported type Melody should have comment or be unexported (golint)
    • Line 32: warning: exported function New should have comment or be unexported (golint)
    • Line 39: warning: comment on exported method Melody.SearchFor should be of the form "SearchFor ..." (golint)
    • Line 94: warning: exported method Melody.DependenciesFor should have comment or be unexported (golint)
    • Line 98: warning: exported method Melody.IsRequirementSatisfiedBy should have comment or be unexported (golint)
    • Line 106: warning: comment on exported method Melody.InstallToDir should be of the form "InstallToDir ..." (golint)
    • Line 249: warning: comment on exported method Melody.RoundTrip should be of the form "RoundTrip ..." (golint)
    • melody/version/scanner.go
    • Line 167: warning: exported type Pos should have comment or be unexported (golint)
    • Line 171: warning: exported type Token should have comment or be unexported (golint)
    • Line 176: warning: exported const EOF should have comment (or a comment on this block) or be unexported (golint)
    • melody/project/lockfile.go
    • Line 21: warning: comment on exported method Project.LoadLockfile should be of the form "LoadLockfile ..." (golint)
    • Line 41: warning: comment on exported type LockEncoderDecoder should be of the form "LockEncoderDecoder ..." (with optional leading article) (golint)
    • Line 48: warning: exported method LockEncoderDecoder.Decode should have comment or be unexported (golint)
    • Line 52: warning: exported method LockEncoderDecoder.Encode should have comment or be unexported (golint)
    • melody/project/mutate.go
    • Line 11: warning: exported method Project.AddDependency should have comment or be unexported (golint)
    • Line 38: warning: exported method Project.RemoveDependency should have comment or be unexported (golint)
    • melody/provider/melody/specs.go
    • Line 15: warning: comment on exported type Revisioned should be of the form "Revisioned ..." (with optional leading article) (golint)
    • Line 20: warning: comment on exported type Builder should be of the form "Builder ..." (with optional leading article) (golint)
    • Line 23: warning: exported method Builder.NewSpec should have comment or be unexported (golint)
    • Line 98: warning: comment on exported method Melody.NewRequirement should be of the form "NewRequirement ..." (golint)
    • melody/version/range.go
    • Line 37: warning: comment on exported type ParsingVersion should be of the form "ParsingVersion ..." (with optional leading article) (golint)
    • Line 115: warning: comment on exported method Range.OR should be of the form "OR ..." (golint)
    • Line 125: warning: comment on exported method Range.AND should be of the form "AND ..." (golint)
    • melody/project/config.go
    • Line 21: warning: exported type Project should have comment or be unexported (golint)
    • Line 34: warning: exported type Config should have comment or be unexported (golint)
    • Line 41: warning: exported type Locked should have comment or be unexported (golint)
    • Line 45: warning: exported function Load should have comment or be unexported (golint)
    • Line 65: warning: comment on exported method Project.Provider should be of the form "Provider ..." (golint)
    • Line 86: warning: exported method Project.Save should have comment or be unexported (golint)
    • melody/resolver/rubygem/rubygem.go
    • Line 11: warning: exported function NewSpec should have comment or be unexported (golint)
    • Line 15: warning: exported type Specification should have comment or be unexported (golint)
    • Line 25: warning: exported method Specification.Requirements should have comment or be unexported (golint)
    • Line 29: warning: comment on exported type Requirements should be of the form "Requirements ..." (with optional leading article) (golint)
    • Line 32: warning: exported method Requirements.UnmarshalJSON should have comment or be unexported (golint)
    • Line 48: warning: comment on exported type Dependency should be of the form "Dependency ..." (with optional leading article) (golint)
    • Line 57: warning: comment on exported method Dependency.SatisfiedBy should be of the form "SatisfiedBy ..." (golint)
    • melody/resolver/flex/spec.go
    • Line 9: warning: exported function NewSpec should have comment or be unexported (golint)
    • Line 13: warning: exported function NewDependency should have comment or be unexported (golint)
    • Line 17: warning: comment on exported type Specification should be of the form "Specification ..." (with optional leading article) (golint)
    • Line 24: warning: exported method Specification.Name should have comment or be unexported (golint)
    • Line 28: warning: exported method Specification.Version should have comment or be unexported (golint)
    • Line 32: warning: exported method Specification.Requirements should have comment or be unexported (golint)
    • Line 40: warning: comment on exported method Specification.SatisfiedBy should be of the form "SatisfiedBy ..." (golint)
    • Line 45: warning: comment on exported type Dependency should be of the form "Dependency ..." (with optional leading article) (golint)
    • Line 51: warning: exported method Dependency.Name should have comment or be unexported (golint)
    • Line 59: warning: exported method Dependency.SatisfiedBy should have comment or be unexported (golint)
    • melody/resolver/graph.go
    • Line 17: warning: exported function NewGraph should have comment or be unexported (golint)
    • Line 26: warning: exported method Graph.Dup should have comment or be unexported (golint)
    • Line 49: warning: exported method Graph.DetachNamedVertex should have comment or be unexported (golint)
    • Line 132: warning: exported method Graph.PayloadFor should have comment or be unexported (golint)
    • Line 158: warning: comment on exported method Graph.ActivatedByName should be of the form "ActivatedByName ..." (golint)
    • Line 169: warning: comment on exported method Graph.Specifications should be of the form "Specifications ..." (golint)
    • Line 201: warning: comment on exported type Edge should be of the form "Edge ..." (with optional leading article) (golint)
    • Line 207: warning: exported method Edge.From should have comment or be unexported (golint)
    • Line 211: warning: exported method Edge.To should have comment or be unexported (golint)
    • Line 215: warning: exported method Edge.Weight should have comment or be unexported (golint)
    • Line 219: warning: comment on exported type Vertex should be of the form "Vertex ..." (with optional leading article) (golint)
    • Line 228: warning: exported method Vertex.ID should have comment or be unexported (golint)
    • Line 232: warning: exported method Vertex.Dup should have comment or be unexported (golint)
    • melody/resolver/types/spec.go
    • Line 7: warning: comment on exported type Specification should be of the form "Specification ..." (with optional leading article) (golint)
    • Line 15: warning: comment on exported function SpecEqual should be of the form "SpecEqual ..." (golint)
    • Line 20: warning: comment on exported type Requirement should be of the form "Requirement ..." (with optional leading article) (golint)
    • Line 27: warning: comment on exported type Requirements should be of the form "Requirements ..." (with optional leading article) (golint)
    • Line 30: warning: exported method Requirements.Dup should have comment or be unexported (golint)
    • Line 34: warning: comment on exported method Requirements.Len should be of the form "Len ..." (golint)
    • Line 39: warning: comment on exported method Requirements.Swap should be of the form "Swap ..." (golint)
    • melody/resolver/provider.go
    • Line 8: warning: comment on exported type SpecificationProvider should be of the form "SpecificationProvider ..." (with optional leading article) (golint)
    • Line 19: warning: comment on exported type BaseProvider should be of the form "BaseProvider ..." (with optional leading article) (golint)
    • Line 23: warning: exported method BaseProvider.SearchFor should have comment or be unexported (golint)
    • Line 27: warning: exported method BaseProvider.DependenciesFor should have comment or be unexported (golint)
    • Line 31: warning: exported method BaseProvider.NameForExplicitDependencySource should have comment or be unexported (golint)
    • Line 35: warning: exported method BaseProvider.NameForLockingDependencySource should have comment or be unexported (golint)
    • Line 39: warning: exported method BaseProvider.AllowMissing should have comment or be unexported (golint)
    • Line 43: warning: comment on exported method BaseProvider.SortDependencies should be of the form "SortDependencies ..." (golint)
    • melody/resolver/sort.go
    • Line 9: warning: comment on exported function SpecEqual should be of the form "SpecEqual ..." (golint)
    • Line 14: warning: comment on exported function SortSpecs should be of the form "SortSpecs ..." (golint)
    • melody/resolver/state.go
    • Line 7: warning: exported type StateType should have comment or be unexported (golint)
    • Line 15: warning: exported type State should have comment or be unexported (golint)
    • melody/provider/provider.go
    • Line 8: warning: comment on exported type Provider should be of the form "Provider ..." (with optional leading article) (golint)
    • Line 15: warning: comment on exported type VersionSpec should be of the form "VersionSpec ..." (with optional leading article) (golint)
    • Line 21: warning: comment on exported type ReleaseSpec should be of the form "ReleaseSpec ..." (with optional leading article) (golint)
    • melody/resolver/flex/version.go
    • Line 11: warning: comment on exported var VersionParser should be of the form "VersionParser ..." (golint)
    • Line 14: warning: comment on exported type Version should be of the form "Version ..." (with optional leading article) (golint)
    • Line 21: warning: exported function ParseVersion should have comment or be unexported (golint)
    • Line 47: warning: comment on exported function MustParseVersion should be of the form "MustParseVersion ..." (golint)
    • Line 56: warning: comment on exported method Version.Parse should be of the form "Parse ..." (golint)
    • Line 61: warning: comment on exported method Version.Compare should be of the form "Compare ..." (golint)
    • Line 84: warning: comment on exported method Version.IsPrerelease should be of the form "IsPrerelease ..." (golint)
    • Line 89: warning: comment on exported method Version.IsSemver should be of the form "IsSemver ..." (golint)
    • Line 100: warning: comment on exported method Version.MajorBump should be of the form "MajorBump ..." (golint)
    • Line 107: warning: comment on exported method Version.MinorBump should be of the form "MinorBump ..." (golint)
    • melody/resolver/encode.go
    • Line 11: warning: exported type GraphEncoder should have comment or be unexported (golint)
    • Line 15: warning: exported type GraphDecoder should have comment or be unexported (golint)
    • Line 20: warning: comment on exported type EncodedGraph should be of the form "EncodedGraph ..." (with optional leading article) (golint)
    • Line 27: warning: exported type GraphItem should have comment or be unexported (golint)
    • Line 53: warning: exported function DecodeGraph should have comment or be unexported (golint)
    • Line 106: warning: exported method Graph.Encode should have comment or be unexported (golint)
    • Line 187: warning: comment on exported method Graph.UnmarshalJSON should be of the form "UnmarshalJSON ..." (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!