Preparing report...

Report for github.com/mailbadger/app

A+    Excellent!    Found 61 issues across 151 files

Tweet

gofmt99%

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!


gocyclo95%

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.


golint62%

Golint is a linter for Go source code.

    • app/entities/params/segments.go
    • Line 12: warning: exported method Segment.TrimSpaces should have comment or be unexported (golint)
    • Line 21: warning: exported method SegmentSubs.TrimSpaces should have comment or be unexported (golint)
    • app/entities/time.go
    • Line 11: warning: exported type NullTime should have comment or be unexported (golint)
    • Line 93: warning: exported method NullTime.MarshalText should have comment or be unexported (golint)
    • Line 100: warning: exported method NullTime.UnmarshalText should have comment or be unexported (golint)
    • app/actions/users.go
    • Line 27: warning: exported function GetMe should have comment or be unexported (golint)
    • Line 32: warning: exported function ChangePassword should have comment or be unexported (golint)
    • Line 90: warning: exported function PostForgotPassword should have comment or be unexported (golint)
    • Line 158: warning: exported function PutForgotPassword should have comment or be unexported (golint)
    • Line 225: warning: exported function PutVerifyEmail should have comment or be unexported (golint)
    • app/actions/ses.go
    • Line 23: warning: exported function GetSESKeys should have comment or be unexported (golint)
    • Line 39: warning: exported function PostSESKeys should have comment or be unexported (golint)
    • Line 200: warning: exported function DeleteSESKeys should have comment or be unexported (golint)
    • Line 268: warning: exported function GetSESQuota should have comment or be unexported (golint)
    • app/entities/params/templates.go
    • Line 13: warning: exported method PostTemplate.TrimSpaces should have comment or be unexported (golint)
    • Line 26: warning: exported method PutTemplate.TrimSpaces should have comment or be unexported (golint)
    • app/entities/template.go
    • Line 14: warning: exported var ErrMissingDefaultData should have comment or be unexported (golint)
    • Line 18: warning: exported const TagName should have comment (or a comment on this block) or be unexported (golint)
    • Line 115: warning: exported type TemplateCollection should have comment or be unexported (golint)
    • Line 120: warning: exported type TemplateMeta should have comment or be unexported (golint)
    • app/entities/params/campaigns.go
    • Line 13: warning: exported method Campaign.TrimSpaces should have comment or be unexported (golint)
    • Line 26: warning: exported method SendCampaign.TrimSpaces should have comment or be unexported (golint)
    • Line 30: warning: exported type CampaignSchedule should have comment or be unexported (golint)
    • Line 38: warning: exported method CampaignSchedule.TrimSpaces should have comment or be unexported (golint)
    • app/entities/complaint.go
    • Line 17: warning: exported method Complaint.GetCreatedAt should have comment or be unexported (golint)
    • Line 21: warning: exported method Complaint.GetID should have comment or be unexported (golint)
    • Line 25: warning: exported method Complaint.GetUpdatedAt should have comment or be unexported (golint)
    • app/actions/campaigns.go
    • Line 28: warning: exported function StartCampaign should have comment or be unexported (golint)
    • Line 183: warning: exported function GetCampaigns should have comment or be unexported (golint)
    • Line 218: warning: exported function GetCampaign should have comment or be unexported (golint)
    • Line 238: warning: exported function PostCampaign should have comment or be unexported (golint)
    • Line 307: warning: exported function PutCampaign should have comment or be unexported (golint)
    • Line 373: warning: exported function DeleteCampaign should have comment or be unexported (golint)
    • Line 403: warning: exported function GetCampaignOpens should have comment or be unexported (golint)
    • Line 440: warning: exported function GetCampaignStats should have comment or be unexported (golint)
    • Line 498: warning: exported function GetCampaignClicksStats should have comment or be unexported (golint)
    • Line 521: warning: exported function GetCampaignComplaints should have comment or be unexported (golint)
    • Line 558: warning: exported function GetCampaignBounces should have comment or be unexported (golint)
    • Line 595: warning: exported function DeleteCampaignSchedule should have comment or be unexported (golint)
    • Line 631: warning: exported function PatchCampaignSchedule should have comment or be unexported (golint)
    • app/entities/params/users.go
    • Line 9: warning: exported method ChangePassword.TrimSpaces should have comment or be unexported (golint)
    • Line 18: warning: exported method PutForgotPassword.TrimSpaces should have comment or be unexported (golint)
    • Line 27: warning: exported method ForgotPassword.TrimSpaces should have comment or be unexported (golint)
    • app/events/client.go
    • Line 10: warning: exported type EventsClient should have comment or be unexported (golint)
    • Line 16: warning: exported const SNSTopicName should have comment or be unexported (golint)
    • Line 22: warning: exported function NewSNSClient should have comment or be unexported (golint)
    • Line 35: warning: exported function NewEventsClient should have comment or be unexported (golint)
    • app/storage/s3/mock.go
    • Line 17: warning: exported method MockS3Client.PutObject should have comment or be unexported (golint)
    • Line 29: warning: exported method MockS3Client.GetObject should have comment or be unexported (golint)
    • Line 41: warning: exported method MockS3Client.DeleteObject should have comment or be unexported (golint)
    • app/entities/params/auth.go
    • Line 9: warning: exported method PostAuthenticate.TrimSpaces should have comment or be unexported (golint)
    • Line 20: warning: exported method PostSignUp.TrimSpaces should have comment or be unexported (golint)
    • app/utils/csv.go
    • Line 8: warning: exported function CountLines should have comment or be unexported (golint)
    • app/actions/segments.go
    • Line 19: warning: exported function GetSegments should have comment or be unexported (golint)
    • Line 50: warning: exported function GetSegment should have comment or be unexported (golint)
    • Line 85: warning: exported function PostSegment should have comment or be unexported (golint)
    • Line 123: warning: exported function PutSegment should have comment or be unexported (golint)
    • Line 173: warning: exported function DeleteSegment should have comment or be unexported (golint)
    • Line 202: warning: exported function PutSegmentSubscribers should have comment or be unexported (golint)
    • Line 256: warning: exported function GetSegmentsubscribers should have comment or be unexported (golint)
    • Line 294: warning: exported function DetachSegmentSubscribers should have comment or be unexported (golint)
    • Line 348: warning: exported function DetachSubscriber should have comment or be unexported (golint)
    • app/services/subscribers/subscriber.go
    • Line 19: warning: exported type Service should have comment or be unexported (golint)
    • Line 30: warning: exported var ErrInvalidColumnsNum should have comment or be unexported (golint)
    • Line 34: warning: exported function New should have comment or be unexported (golint)
    • app/entities/report.go
    • Line 4: warning: exported const StatusFailed should have comment (or a comment on this block) or be unexported (golint)
    • app/storage/storage.go
    • Line 182: warning: exported function GetBoundariesByType should have comment or be unexported (golint)
    • Line 186: warning: exported function GetRole should have comment or be unexported (golint)
    • app/services/exporters/subscribers.go
    • Line 20: warning: exported type SubscribersExporter should have comment or be unexported (golint)
    • Line 24: warning: exported function NewSubscribersExporter should have comment or be unexported (golint)
    • Line 30: warning: exported method SubscribersExporter.Export should have comment or be unexported (golint)
    • app/services/templates/service.go
    • Line 22: warning: exported var ErrHTMLPartNotFound should have comment or be unexported (golint)
    • Line 30: warning: exported type Service should have comment or be unexported (golint)
    • Line 39: warning: exported type Opts should have comment or be unexported (golint)
    • Line 55: warning: exported function New should have comment or be unexported (golint)
    • app/entities/open.go
    • Line 5: warning: exported type Open should have comment or be unexported (golint)
    • Line 15: warning: exported method Open.GetCreatedAt should have comment or be unexported (golint)
    • Line 19: warning: exported method Open.GetID should have comment or be unexported (golint)
    • Line 23: warning: exported method Open.GetUpdatedAt should have comment or be unexported (golint)
    • app/actions/templates.go
    • Line 22: warning: exported function GetTemplate should have comment or be unexported (golint)
    • Line 64: warning: exported function GetTemplates should have comment or be unexported (golint)
    • Line 103: warning: exported function PostTemplate should have comment or be unexported (golint)
    • Line 168: warning: exported function PutTemplate should have comment or be unexported (golint)
    • Line 243: warning: exported function DeleteTemplate should have comment or be unexported (golint)
    • app/entities/sns.go
    • Line 9: warning: exported type Header should have comment or be unexported (golint)
    • Line 14: warning: exported type CommonHeader should have comment or be unexported (golint)
    • Line 57: warning: exported type ComplainedRecipient should have comment or be unexported (golint)
    • app/queue/producer.go
    • Line 13: warning: exported type Producer should have comment or be unexported (golint)
    • Line 18: warning: exported function NewProducer should have comment or be unexported (golint)
    • Line 35: warning: exported function Publish should have comment or be unexported (golint)
    • app/utils/env.go
    • Line 13: warning: exported function IsProductionMode should have comment or be unexported (golint)
    • app/entities/segment.go
    • Line 26: warning: exported method Segment.GetID should have comment or be unexported (golint)
    • Line 30: warning: exported method Segment.GetCreatedAt should have comment or be unexported (golint)
    • Line 34: warning: exported method Segment.GetUpdatedAt should have comment or be unexported (golint)
    • app/emails/sender.go
    • Line 10: warning: exported type Sender should have comment or be unexported (golint)
    • Line 39: warning: exported function NewSESClient should have comment or be unexported (golint)
    • Line 57: warning: exported function NewSesSender should have comment or be unexported (golint)
    • app/entities/subscriber.go
    • Line 72: warning: exported method Subscriber.GetID should have comment or be unexported (golint)
    • Line 76: warning: exported method Subscriber.GetCreatedAt should have comment or be unexported (golint)
    • Line 80: warning: exported method Subscriber.GetUpdatedAt should have comment or be unexported (golint)
    • app/entities/model.go
    • Line 5: warning: exported type Model should have comment or be unexported (golint)
    • Line 11: warning: exported type ModelInterface should have comment or be unexported (golint)
    • app/actions/subscribers.go
    • Line 43: warning: exported function GetSubscribers should have comment or be unexported (golint)
    • Line 75: warning: exported function GetSubscriber should have comment or be unexported (golint)
    • Line 93: warning: exported function PostSubscriber should have comment or be unexported (golint)
    • Line 179: warning: exported function PutSubscriber should have comment or be unexported (golint)
    • Line 247: warning: exported function DeleteSubscriber should have comment or be unexported (golint)
    • Line 276: warning: exported function PostUnsubscribe should have comment or be unexported (golint)
    • Line 352: warning: exported function ImportSubscribers should have comment or be unexported (golint)
    • Line 453: warning: exported function BulkRemoveSubscribers should have comment or be unexported (golint)
    • Line 498: warning: exported function ExportSubscribers should have comment or be unexported (golint)
    • Line 560: warning: exported function DownloadSubscribersReport should have comment or be unexported (golint)
    • app/storage/db.go
    • Line 9: warning: a blank import should be only in a main or test package, or have a comment justifying it (golint)
    • Line 12: warning: a blank import should be only in a main or test package, or have a comment justifying it (golint)
    • Line 19: warning: a blank import should be only in a main or test package, or have a comment justifying it (golint)
    • app/entities/bounce.go
    • Line 20: warning: exported method Bounce.GetCreatedAt should have comment or be unexported (golint)
    • Line 24: warning: exported method Bounce.GetID should have comment or be unexported (golint)
    • Line 28: warning: exported method Bounce.GetUpdatedAt should have comment or be unexported (golint)
    • app/entities/campaign.go
    • Line 84: warning: exported type CampaignTemplateData should have comment or be unexported (golint)
    • Line 97: warning: exported method Campaign.GetID should have comment or be unexported (golint)
    • Line 101: warning: exported method Campaign.GetCreatedAt should have comment or be unexported (golint)
    • Line 105: warning: exported method Campaign.GetUpdatedAt should have comment or be unexported (golint)
    • Line 109: warning: comment on exported method Campaign.SetEventID should be of the form "SetEventID ..." (golint)
    • Line 120: warning: exported type OpensStats should have comment or be unexported (golint)
    • Line 125: warning: exported type CampaignStats should have comment or be unexported (golint)
    • app/entities/eventtype.go
    • Line 8: warning: exported type EventType should have comment or be unexported (golint)
    • Line 10: warning: exported method EventType.Scan should have comment or be unexported (golint)
    • Line 21: warning: exported method EventType.Value should have comment or be unexported (golint)
    • app/entities/params/subscribers.go
    • Line 13: warning: exported method PostSubscriber.TrimSpaces should have comment or be unexported (golint)
    • Line 24: warning: exported method PutSubscriber.TrimSpaces should have comment or be unexported (golint)
    • Line 35: warning: exported method PostUnsubscribe.TrimSpaces should have comment or be unexported (golint)
    • Line 47: warning: exported method ImportSubscribers.TrimSpaces should have comment or be unexported (golint)
    • Line 56: warning: exported method BulkRemoveSubscribers.TrimSpaces should have comment or be unexported (golint)
    • app/opa/compiler.go
    • Line 4: warning: a blank import should be only in a main or test package, or have a comment justifying it (golint)
    • Line 12: warning: exported function NewCompiler should have comment or be unexported (golint)
    • app/services/campaigns/campaigns.go
    • Line 16: warning: exported type Service should have comment or be unexported (golint)
    • Line 35: warning: exported function New should have comment or be unexported (golint)
    • Line 76: warning: if block ends with a return statement, so drop this else and outdent its block (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!