Preparing report...

Report for github.com/Shopify/goose

A+    Excellent!    Found 63 issues across 138 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!


gocyclo97%

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.


golint56%

Golint is a linter for Go source code.

    • goose/srvutil/servlet.go
    • Line 22: warning: exported type InlineServlet should have comment or be unexported (golint)
    • Line 24: warning: exported method InlineServlet.RegisterRouting should have comment or be unexported (golint)
    • goose/timetracker/tracker.go
    • Line 7: warning: exported type Tracker should have comment or be unexported (golint)
    • Line 13: warning: exported type Finisher should have comment or be unexported (golint)
    • Line 15: warning: exported method Finisher.Finish should have comment or be unexported (golint)
    • goose/syncio/buffer.go
    • Line 28: warning: exported method Buffer.ReadFrom should have comment or be unexported (golint)
    • Line 34: warning: exported method Buffer.WriteTo should have comment or be unexported (golint)
    • Line 40: warning: exported method Buffer.ReadRune should have comment or be unexported (golint)
    • Line 46: warning: exported method Buffer.UnreadRune should have comment or be unexported (golint)
    • Line 52: warning: exported method Buffer.WriteRune should have comment or be unexported (golint)
    • Line 58: warning: exported method Buffer.ReadByte should have comment or be unexported (golint)
    • Line 64: warning: exported method Buffer.ReadBytes should have comment or be unexported (golint)
    • Line 70: warning: exported method Buffer.UnreadByte should have comment or be unexported (golint)
    • Line 76: warning: exported method Buffer.WriteByte should have comment or be unexported (golint)
    • Line 82: warning: exported method Buffer.ReadString should have comment or be unexported (golint)
    • Line 88: warning: exported method Buffer.WriteString should have comment or be unexported (golint)
    • Line 94: warning: exported method Buffer.Next should have comment or be unexported (golint)
    • Line 100: warning: exported method Buffer.Reset should have comment or be unexported (golint)
    • Line 106: warning: exported method Buffer.Truncate should have comment or be unexported (golint)
    • Line 112: warning: exported method Buffer.Grow should have comment or be unexported (golint)
    • Line 129: warning: exported method Buffer.Bytes should have comment or be unexported (golint)
    • Line 135: warning: exported method Buffer.Len should have comment or be unexported (golint)
    • Line 141: warning: exported method Buffer.Cap should have comment or be unexported (golint)
    • Line 157: warning: exported function NewBuffer should have comment or be unexported (golint)
    • Line 159: warning: exported function NewBufferString should have comment or be unexported (golint)
    • goose/safely/safely.go
    • Line 48: warning: exported type Runnable should have comment or be unexported (golint)
    • Line 56: warning: exported function Run should have comment or be unexported (golint)
    • goose/lockmap/map.go
    • Line 10: warning: exported type Promise should have comment or be unexported (golint)
    • Line 12: warning: exported type PromiseMap should have comment or be unexported (golint)
    • Line 14: warning: exported type LockMap should have comment or be unexported (golint)
    • Line 31: warning: exported function New should have comment or be unexported (golint)
    • goose/logger/loggable.go
    • Line 16: warning: exported type Loggable should have comment or be unexported (golint)
    • Line 92: warning: exported function GetLoggableValues should have comment or be unexported (golint)
    • goose/bugsnag/bugsnag.go
    • Line 18: warning: exported function Notify should have comment or be unexported (golint)
    • Line 22: warning: exported function AutoNotify should have comment or be unexported (golint)
    • Line 26: warning: exported function AutoRecover should have comment or be unexported (golint)
    • Line 30: warning: exported function Setup should have comment or be unexported (golint)
    • Line 34: warning: exported function Configured should have comment or be unexported (golint)
    • goose/oauth/authorizer.go
    • Line 13: warning: exported var ErrEmailNotVerified should have comment or be unexported (golint)
    • Line 15: warning: exported function EmailVerifiedAuthorizer should have comment or be unexported (golint)
    • Line 22: warning: exported var ErrInvalidDomain should have comment or be unexported (golint)
    • Line 24: warning: exported function NewDomainAuthorizer should have comment or be unexported (golint)
    • Line 37: warning: exported function NewCompositeAuthorizer should have comment or be unexported (golint)
    • goose/oauth/servlet.go
    • Line 15: warning: exported var ErrUnauthenticated should have comment or be unexported (golint)
    • Line 19: warning: exported type Servlet should have comment or be unexported (golint)
    • Line 24: warning: exported function NewServlet should have comment or be unexported (golint)
    • goose/redact/redact.go
    • Line 10: warning: exported var GlobalSensitiveSubstrings should have comment or be unexported (golint)
    • Line 18: warning: exported function AddSensitiveSubstring should have comment or be unexported (golint)
    • Line 26: warning: exported function IsSensitive should have comment or be unexported (golint)
    • Line 35: warning: exported function Map should have comment or be unexported (golint)
    • Line 49: warning: exported function Headers should have comment or be unexported (golint)
    • goose/srvutil/real_ip.go
    • Line 7: warning: exported const RealIPHeaderKey should have comment or be unexported (golint)
    • Line 9: warning: exported function RealIPMiddleware should have comment or be unexported (golint)
    • goose/srvutil/server.go
    • Line 27: warning: exported function NewServer should have comment or be unexported (golint)
    • Line 36: warning: exported type ServerFactory should have comment or be unexported (golint)
    • Line 38: warning: exported function NewServerFromFactory should have comment or be unexported (golint)
    • goose/concurrency/throttler.go
    • Line 11: warning: exported function NewThrottler should have comment or be unexported (golint)
    • Line 19: warning: exported type Throttler should have comment or be unexported (golint)
    • Line 23: warning: exported type ErrThrottled should have comment or be unexported (golint)
    • goose/logger/logger.go
    • Line 15: warning: exported var GlobalFields should have comment or be unexported (golint)
    • Line 17: warning: exported type Logger should have comment or be unexported (golint)
    • Line 19: warning: exported function New should have comment or be unexported (golint)
    • Line 28: warning: exported function ContextLog should have comment or be unexported (golint)
    • goose/oauth/state.go
    • Line 9: warning: exported type StateManager should have comment or be unexported (golint)
    • Line 19: warning: exported function NewStateManager should have comment or be unexported (golint)
    • Line 25: warning: exported type State should have comment or be unexported (golint)
    • goose/genmain/component.go
    • Line 12: warning: exported type ComponentWithDependencies should have comment or be unexported (golint)
    • Line 18: warning: exported function NewComponentWithDependencies should have comment or be unexported (golint)
    • goose/shell/shell.go
    • Line 19: warning: exported type Env should have comment or be unexported (golint)
    • Line 21: warning: exported function New should have comment or be unexported (golint)
    • Line 25: warning: exported function NewDefaultBuilder should have comment or be unexported (golint)
    • Line 32: warning: exported function NewBuilder should have comment or be unexported (golint)
    • goose/oauth/paths.go
    • Line 9: warning: exported type Paths should have comment or be unexported (golint)
    • Line 28: warning: exported method Paths.LoginURL should have comment or be unexported (golint)
    • Line 38: warning: exported method Paths.CallbackURL should have comment or be unexported (golint)
    • Line 42: warning: exported method Paths.RedirectURL should have comment or be unexported (golint)
    • goose/logger/uuid.go
    • Line 9: warning: exported const UUIDKey should have comment or be unexported (golint)
    • Line 13: warning: exported function WithUUID should have comment or be unexported (golint)
    • goose/cond/cond.go
    • Line 11: warning: exported type Cond should have comment or be unexported (golint)
    • Line 27: warning: exported function NewCond should have comment or be unexported (golint)
    • goose/resolver/resolver.go
    • Line 9: warning: exported var ErrNotFound should have comment or be unexported (golint)
    • Line 11: warning: exported type Resolver should have comment or be unexported (golint)
    • Line 23: warning: exported function New should have comment or be unexported (golint)
    • Line 30: warning: exported function IsNotFound should have comment or be unexported (golint)
    • goose/concurrency/limiter.go
    • Line 13: warning: exported const NoLimit should have comment (or a comment on this block) or be unexported (golint)
    • Line 17: warning: exported type Limiter should have comment or be unexported (golint)
    • Line 47: warning: exported function NewLimiter should have comment or be unexported (golint)
    • Line 51: warning: exported function NewLimiterWithGauge should have comment or be unexported (golint)
    • Line 55: warning: exported function NewGauge should have comment or be unexported (golint)
    • Line 59: warning: exported function NewSampledGauge should have comment or be unexported (golint)
    • goose/srvutil/request.go
    • Line 20: warning: exported const UserEmailHeaderKey should have comment (or a comment on this block) or be unexported (golint)
    • Line 69: warning: exported function BuildContext should have comment or be unexported (golint)
    • goose/profiler/profiler.go
    • Line 15: warning: exported type Profiler should have comment or be unexported (golint)
    • Line 20: warning: exported function NewProfiler should have comment or be unexported (golint)
    • goose/oauth/user.go
    • Line 32: warning: exported method User.LogFields should have comment or be unexported (golint)
    • Line 43: warning: exported method User.StatsTags should have comment or be unexported (golint)
    • goose/srvutil/metrics.go
    • Line 18: warning: exported type BodyLogPredicateFunc should have comment or be unexported (golint)
    • Line 20: warning: exported function LogErrorBody should have comment or be unexported (golint)
    • Line 91: warning: exported type RequestMetricsMiddlewareConfig 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!