Preparing report...

Report for github.com/go-audio/midi

A+    Excellent!    Found 15 issues across 31 files

Tweet

gofmt90%

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!


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.

    • midi/decoder_event.go
    • Line 10: warning: cyclomatic complexity 35 of function (*Decoder).parseEvent() is high (> 15) (gocyclo)
    • Line 225: warning: cyclomatic complexity 26 of function (*Decoder).parseMetaMsg() is high (> 15) (gocyclo)

golint61%

Golint is a linter for Go source code.

    • midi/track.go
    • Line 9: warning: comment on exported type Track should be of the form "Track ..." (with optional leading article) (golint)
    • midi/grid/grid.go
    • Line 22: warning: exported const One4 should have comment (or a comment on this block) or be unexported (golint)
    • midi/control_change.go
    • Line 3: warning: exported type ControlChangeEvent should have comment or be unexported (golint)
    • Line 142: warning: exported var CCVals should have comment or be unexported (golint)
    • midi/doc.go
    • Line 1: warning: package comment should be of the form "Package midi ..." (golint)
    • Line 1: warning: package comment should not have leading space (golint)
    • midi/event.go
    • Line 41: warning: exported function TrackName should have comment or be unexported (golint)
    • Line 49: warning: comment on exported function Aftertouch should be of the form "Aftertouch ..." (golint)
    • Line 134: warning: comment on exported function Meta should be of the form "Meta ..." (golint)
    • Line 139: warning: comment on exported type Event should be of the form "Event ..." (with optional leading article) (golint)
    • midi/time_signature.go
    • Line 8: warning: comment on exported type TimeSignature should be of the form "TimeSignature ..." (with optional leading article) (golint)
    • midi/decoder.go
    • Line 15: warning: exported const MetricalTF should have comment (or a comment on this block) or be unexported (golint)
    • Line 24: warning: comment on exported type Decoder should be of the form "Decoder ..." (with optional leading article) (golint)
    • Line 98: warning: exported method Decoder.CurrentTrack should have comment or be unexported (golint)
    • Line 258: warning: exported method Decoder.ReadByte should have comment or be unexported (golint)
    • midi/encoder.go
    • Line 11: warning: exported const SingleTrack should have comment (or a comment on this block) or be unexported (golint)
    • Line 16: warning: exported type Encoder should have comment or be unexported (golint)
    • Line 57: warning: exported function NewEncoder should have comment or be unexported (golint)
    • midi/midi.go
    • Line 19: warning: exported function NewDecoder should have comment or be unexported (golint)
    • Line 23: warning: exported function NewParser should have comment or be unexported (golint)
    • midi/note.go
    • Line 10: warning: exported var Notes should have comment or be unexported (golint)
    • Line 39: warning: exported type Note should have comment or be unexported (golint)

license100%

Checks whether your project has a LICENSE file.

No problems detected. Good job!


ineffassign96%

IneffAssign detects ineffectual assignments in Go code.


misspell87%

Misspell Finds commonly misspelled English words

    • midi/encoder.go
    • Line 12: warning: "Syncronous" is a misspelling of "Synchronous" (misspell)
    • Line 13: warning: "Asyncronous" is a misspelling of "Asynchronous" (misspell)
    • Line 26: warning: "interchangable" is a misspelling of "interchangeable" (misspell)
    • midi/decoder.go
    • Line 47: warning: "frome" is a misspelling of "from" (misspell)
    • Line 53: warning: "milisecond" is a misspelling of "millisecond" (misspell)
    • Line 70: warning: "interchangable" is a misspelling of "interchangeable" (misspell)
    • Line 156: warning: "frome" is a misspelling of "from" (misspell)
    • Line 162: warning: "milisecond" is a misspelling of "millisecond" (misspell)