Preparing report...

Report for github.com/hunterhug/marmot

A+    Excellent!    Found 45 issues across 78 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!


gocyclo87%

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.

    • marmot/util/cascadia/parser.go
    • Line 422: warning: cyclomatic complexity 48 of function (*parser).parsePseudoclassSelector() is high (> 15) (gocyclo)
    • Line 586: warning: cyclomatic complexity 30 of function (*parser).parseNth() is high (> 15) (gocyclo)
    • Line 329: warning: cyclomatic complexity 24 of function (*parser).parseAttributeSelector() is high (> 15) (gocyclo)
    • Line 135: warning: cyclomatic complexity 20 of function (*parser).parseString() is high (> 15) (gocyclo)
    • marmot/util/html/parse.go
    • Line 776: warning: cyclomatic complexity 121 of function inBodyIM() is high (> 15) (gocyclo)
    • Line 1336: warning: cyclomatic complexity 30 of function inTableIM() is high (> 15) (gocyclo)
    • Line 1700: warning: cyclomatic complexity 25 of function inSelectIM() is high (> 15) (gocyclo)
    • Line 430: warning: cyclomatic complexity 25 of function (*parser).resetInsertionMode() is high (> 15) (gocyclo)
    • Line 2051: warning: cyclomatic complexity 24 of function parseForeignContent() is high (> 15) (gocyclo)
    • Line 110: warning: cyclomatic complexity 22 of function (*parser).indexOfElementInScope() is high (> 15) (gocyclo)
    • Line 1167: warning: cyclomatic complexity 22 of function (*parser).inBodyEndTagFormatting() is high (> 15) (gocyclo)
    • Line 615: warning: cyclomatic complexity 21 of function inHeadIM() is high (> 15) (gocyclo)
    • Line 1791: warning: cyclomatic complexity 17 of function inTemplateIM() is high (> 15) (gocyclo)
    • Line 1489: warning: cyclomatic complexity 17 of function inColumnGroupIM() is high (> 15) (gocyclo)
    • Line 162: warning: cyclomatic complexity 17 of function (*parser).clearStackToContext() is high (> 15) (gocyclo)
    • Line 699: warning: cyclomatic complexity 16 of function afterHeadIM() is high (> 15) (gocyclo)
    • Line 2131: warning: cyclomatic complexity 16 of function (*parser).inForeignContent() is high (> 15) (gocyclo)
    • marmot/util/html/token.go
    • Line 393: warning: cyclomatic complexity 50 of function (*Tokenizer).readScript() is high (> 15) (gocyclo)
    • Line 950: warning: cyclomatic complexity 31 of function (*Tokenizer).Next() is high (> 15) (gocyclo)
    • Line 888: warning: cyclomatic complexity 16 of function (*Tokenizer).readTagAttrVal() is high (> 15) (gocyclo)

golint53%

Golint is a linter for Go source code.

    • marmot/tool/wx/mini_message.go
    • Line 16: warning: exported type Message should have comment or be unexported (golint)
    • Line 25: warning: exported type ErrorRsp should have comment or be unexported (golint)
    • Line 34: warning: comment on exported function SendMessage should be of the form "SendMessage ..." (golint)
    • Line 69: warning: should replace errors.New(fmt.Sprintf(...)) with fmt.Errorf(...) (golint)
    • marmot/util/goquery/manipulation.go
    • Line 273: warning: comment on exported method Selection.SetHtml should be of the form "SetHtml ..." (golint)
    • Line 278: warning: comment on exported method Selection.SetText should be of the form "SetText ..." (golint)
    • marmot/util/go-logging/log_nix.go
    • Line 19: warning: exported const ColorBlack should have comment (or a comment on this block) or be unexported (golint)
    • Line 93: warning: exported function ColorSeq should have comment or be unexported (golint)
    • Line 97: warning: exported function ColorSeqBold should have comment or be unexported (golint)
    • marmot/miner/client.go
    • Line 1: warning: package comment should be of the form "Package miner ..." (golint)
    • Line 1: warning: package comment should not have leading space (golint)
    • Line 21: warning: comment on exported function NewJar should be of the form "NewJar ..." (golint)
    • Line 53: warning: comment on exported function NewProxyClient should be of the form "NewProxyClient ..." (golint)
    • Line 100: warning: comment on exported function NewClient should be of the form "NewClient ..." (golint)
    • marmot/miner/ua.go
    • Line 1: warning: package comment should be of the form "Package miner ..." (golint)
    • Line 1: warning: package comment should not have leading space (golint)
    • Line 15: warning: comment on exported var Ua should be of the form "Ua ..." (golint)
    • Line 18: warning: comment on exported function UaInit should be of the form "UaInit ..." (golint)
    • Line 481: warning: comment on exported function RandomUa should be of the form "RandomUa ..." (golint)
    • marmot/tool/pichelper.go
    • Line 13: warning: comment on exported function DownloadHTMLPictures should be of the form "DownloadHTMLPictures ..." (golint)
    • Line 39: warning: comment on exported function DownloadURLPictures should be of the form "DownloadURLPictures ..." (golint)
    • marmot/miner/worker.go
    • Line 1: warning: package comment should be of the form "Package miner ..." (golint)
    • Line 1: warning: package comment should not have leading space (golint)
    • Line 21: warning: comment on exported function NewWorker should be of the form "NewWorker ..." (golint)
    • Line 34: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 43: warning: comment on exported function New should be of the form "New ..." (golint)
    • Line 48: warning: comment on exported function NewWorkerByClient should be of the form "NewWorkerByClient ..." (golint)
    • Line 63: warning: comment on exported function NewAPI should be of the form "NewAPI ..." (golint)
    • Line 68: warning: comment on exported method Worker.Go should be of the form "Go ..." (golint)
    • Line 96: warning: exported method Worker.GoByMethod should have comment or be unexported (golint)
    • Line 100: warning: comment on exported method Worker.ToString should be of the form "ToString ..." (golint)
    • Line 109: warning: comment on exported method Worker.JsonToString should be of the form "JsonToString ..." (golint)
    • Line 227: warning: exported method Worker.Delete should have comment or be unexported (golint)
    • Line 243: warning: exported method Worker.PostJSON should have comment or be unexported (golint)
    • Line 247: warning: exported method Worker.PostXML should have comment or be unexported (golint)
    • Line 251: warning: exported method Worker.PostFILE should have comment or be unexported (golint)
    • Line 289: warning: comment on exported method Worker.Put should be of the form "Put ..." (golint)
    • Line 294: warning: exported method Worker.PutJSON should have comment or be unexported (golint)
    • Line 298: warning: exported method Worker.PutXML should have comment or be unexported (golint)
    • Line 302: warning: exported method Worker.PutFILE should have comment or be unexported (golint)
    • Line 307: warning: comment on exported method Worker.OtherGo should be of the form "OtherGo ..." (golint)
    • Line 334: warning: exported method Worker.OtherGoBinary should have comment or be unexported (golint)
    • marmot/util/html2md/html2md.go
    • Line 12: warning: exported function P should have comment or be unexported (golint)
    • Line 24: warning: exported function Br should have comment or be unexported (golint)
    • Line 34: warning: exported function H should have comment or be unexported (golint)
    • Line 54: warning: exported function Hr should have comment or be unexported (golint)
    • Line 64: warning: exported function B should have comment or be unexported (golint)
    • Line 76: warning: exported function I should have comment or be unexported (golint)
    • Line 88: warning: exported function Code should have comment or be unexported (golint)
    • Line 100: warning: exported function A should have comment or be unexported (golint)
    • Line 125: warning: exported function SameRule should have comment or be unexported (golint)
    • Line 134: warning: exported function Img should have comment or be unexported (golint)
    • Line 242: warning: exported function Remove should have comment or be unexported (golint)
    • Line 322: warning: exported function WrapInlineTag should have comment or be unexported (golint)
    • Line 344: warning: exported function Convert should have comment or be unexported (golint)
    • marmot/miner/config.go
    • Line 1: warning: package comment should be of the form "Package miner ..." (golint)
    • Line 1: warning: package comment should not have leading space (golint)
    • Line 50: warning: comment on exported method Worker.SetHeader should be of the form "SetHeader ..." (golint)
    • Line 56: warning: comment on exported function SetHeader should be of the form "SetHeader ..." (golint)
    • Line 61: warning: exported method Worker.SetHeaderParm should have comment or be unexported (golint)
    • Line 66: warning: exported function SetHeaderParm should have comment or be unexported (golint)
    • Line 70: warning: exported method Worker.SetCookie should have comment or be unexported (golint)
    • Line 75: warning: exported function SetCookie should have comment or be unexported (golint)
    • Line 79: warning: comment on exported method Worker.SetCookieByFile should be of the form "SetCookieByFile ..." (golint)
    • Line 93: warning: exported function SetCookieByFile should have comment or be unexported (golint)
    • Line 97: warning: exported method Worker.SetUa should have comment or be unexported (golint)
    • Line 102: warning: exported function SetUa should have comment or be unexported (golint)
    • Line 106: warning: exported method Worker.SetRefer should have comment or be unexported (golint)
    • Line 111: warning: exported function SetRefer should have comment or be unexported (golint)
    • Line 115: warning: exported method Worker.SetHost should have comment or be unexported (golint)
    • Line 120: warning: comment on exported method Worker.SetUrl should be of the form "SetUrl ..." (golint)
    • Line 131: warning: exported function SetUrl should have comment or be unexported (golint)
    • Line 135: warning: exported method Worker.SetFileInfo should have comment or be unexported (golint)
    • Line 141: warning: exported function SetFileInfo should have comment or be unexported (golint)
    • Line 145: warning: exported method Worker.SetMethod should have comment or be unexported (golint)
    • Line 175: warning: exported function SetMethod should have comment or be unexported (golint)
    • Line 179: warning: exported method Worker.SetWaitTime should have comment or be unexported (golint)
    • Line 187: warning: exported function SetWaitTime should have comment or be unexported (golint)
    • Line 191: warning: exported method Worker.SetBData should have comment or be unexported (golint)
    • Line 196: warning: exported function SetBData should have comment or be unexported (golint)
    • Line 200: warning: exported method Worker.SetForm should have comment or be unexported (golint)
    • Line 205: warning: exported function SetForm should have comment or be unexported (golint)
    • Line 209: warning: exported method Worker.SetFormParm should have comment or be unexported (golint)
    • Line 214: warning: exported function SetFormParm should have comment or be unexported (golint)
    • Line 218: warning: comment on exported method Worker.SetContext should be of the form "SetContext ..." (golint)
    • Line 224: warning: exported function SetContext should have comment or be unexported (golint)
    • Line 228: warning: exported method Worker.SetBeforeAction should have comment or be unexported (golint)
    • Line 233: warning: exported function SetBeforeAction should have comment or be unexported (golint)
    • Line 237: warning: exported method Worker.SetAfterAction should have comment or be unexported (golint)
    • Line 242: warning: exported function SetAfterAction should have comment or be unexported (golint)
    • Line 253: warning: exported function Clear should have comment or be unexported (golint)
    • Line 257: warning: comment on exported method Worker.ClearAll should be of the form "ClearAll ..." (golint)
    • Line 265: warning: exported function ClearAll should have comment or be unexported (golint)
    • Line 269: warning: comment on exported method Worker.ClearCookie should be of the form "ClearCookie ..." (golint)
    • Line 275: warning: exported function ClearCookie should have comment or be unexported (golint)
    • Line 279: warning: comment on exported method Worker.GetCookies should be of the form "GetCookies ..." (golint)
    • Line 283: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 288: warning: exported function GetCookies should have comment or be unexported (golint)
    • Line 292: warning: comment on exported method Worker.NewHeader should be of the form "NewHeader ..." (golint)
    • marmot/expert/query.go
    • Line 1: warning: package comment should be of the form "Package expert ..." (golint)
    • Line 1: warning: package comment should not have leading space (golint)
    • Line 17: warning: exported function QueryBytes should have comment or be unexported (golint)
    • Line 22: warning: exported function QueryString should have comment or be unexported (golint)
    • Line 27: warning: comment on exported function FindPicture should be of the form "FindPicture ..." (golint)
    • marmot/tool/wx/mini_login.go
    • Line 19: warning: exported type MiniUserInfo should have comment or be unexported (golint)
    • Line 31: warning: exported function MiniLogin should have comment or be unexported (golint)
    • Line 84: warning: should replace errors.New(fmt.Sprintf(...)) with fmt.Errorf(...) (golint)
    • Line 90: warning: should replace errors.New(fmt.Sprintf(...)) with fmt.Errorf(...) (golint)
    • Line 96: warning: should replace errors.New(fmt.Sprintf(...)) with fmt.Errorf(...) (golint)
    • Line 104: warning: exported function DecryptWXOpenData should have comment or be unexported (golint)
    • Line 125: warning: exported function AesDecrypt should have comment or be unexported (golint)
    • marmot/miner/util.go
    • Line 1: warning: package comment should be of the form "Package miner ..." (golint)
    • Line 1: warning: package comment should not have leading space (golint)
    • Line 22: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 29: warning: comment on exported function CopyM should be of the form "CopyM ..." (golint)
    • Line 43: warning: comment on exported function TooSortSizes should be of the form "TooSortSizes ..." (golint)
    • Line 46: warning: should replace errors.New(fmt.Sprintf(...)) with fmt.Errorf(...) (golint)
    • Line 51: warning: comment on exported function OutputMaps should be of the form "OutputMaps ..." (golint)
    • marmot/util/html/parse.go
    • Line 1152: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 1452: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 1476: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 1781: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • marmot/util/html2md/core.go
    • Line 6: warning: exported const Foreign should have comment (or a comment on this block) or be unexported (golint)
    • Line 10: warning: exported type ReplaceFunc should have comment or be unexported (golint)
    • Line 12: warning: exported type Rule should have comment or be unexported (golint)
    • Line 18: warning: exported function AttrRegExp should have comment or be unexported (golint)
    • Line 27: warning: exported function AddRule should have comment or be unexported (golint)
    • Line 31: warning: exported function AddConvert should have comment or be unexported (golint)
    • marmot/util/crypto.go
    • Line 1: warning: package comment should be of the form "Package util ..." (golint)
    • Line 1: warning: package comment should not have leading space (golint)
    • Line 21: warning: comment on exported function ComputeHmac256 should be of the form "ComputeHmac256 ..." (golint)
    • Line 29: warning: comment on exported function Strtomd5 should be of the form "Strtomd5 ..." (golint)
    • Line 37: warning: exported function Md5 should have comment or be unexported (golint)
    • Line 41: warning: comment on exported function Base64E should be of the form "Base64E ..." (golint)
    • Line 48: warning: comment on exported function Base64D should be of the form "Base64D ..." (golint)
    • Line 59: warning: comment on exported function UrlE should be of the form "UrlE ..." (golint)
    • Line 64: warning: comment on exported function UrlD should be of the form "UrlD ..." (golint)
    • Line 69: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 74: warning: comment on exported function Md5FS should be of the form "Md5FS ..." (golint)
    • marmot/util/file.go
    • Line 1: warning: package comment should be of the form "Package util ..." (golint)
    • Line 1: warning: package comment should not have leading space (golint)
    • Line 22: warning: comment on exported function CurDir should be of the form "CurDir ..." (golint)
    • Line 29: warning: comment on exported function GetBinaryCurrentPath should be of the form "GetBinaryCurrentPath ..." (golint)
    • Line 56: warning: comment on exported function GetCurrentPath should be of the form "GetCurrentPath ..." (golint)
    • Line 61: warning: comment on exported function SaveToFile should be of the form "SaveToFile ..." (golint)
    • Line 69: warning: comment on exported function ReadfromFile should be of the form "ReadfromFile ..." (golint)
    • Line 74: warning: comment on exported function GetFilenameInfo should be of the form "GetFilenameInfo ..." (golint)
    • Line 80: warning: comment on exported function Rename should be of the form "Rename ..." (golint)
    • Line 85: warning: comment on exported function MakeDir should be of the form "MakeDir ..." (golint)
    • Line 91: warning: comment on exported function MakeDirByFile should be of the form "MakeDirByFile ..." (golint)
    • Line 103: warning: exported function FileExist should have comment or be unexported (golint)
    • Line 110: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 115: warning: comment on exported function WalkDir should be of the form "WalkDir ..." (golint)
    • Line 132: warning: comment on exported function ListDir should be of the form "ListDir ..." (golint)
    • Line 151: warning: comment on exported function ListDirOnlyName should be of the form "ListDirOnlyName ..." (golint)
    • Line 170: warning: comment on exported function HasFile should be of the form "HasFile ..." (golint)
    • Line 180: warning: comment on exported function CopyFF should be of the form "CopyFF ..." (golint)
    • Line 186: warning: comment on exported function CopyFS should be of the form "CopyFS ..." (golint)
    • Line 197: warning: comment on exported function IsFile should be of the form "IsFile ..." (golint)
    • Line 202: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 205: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 211: warning: comment on exported function IsDir should be of the form "IsDir ..." (golint)
    • Line 216: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 219: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 225: warning: comment on exported function FileStatus should be of the form "FileStatus ..." (golint)
    • Line 235: warning: comment on exported function SizeofDir should be of the form "SizeofDir ..." (golint)
    • Line 245: warning: comment on exported function GetFileSuffix should be of the form "GetFileSuffix ..." (golint)
    • Line 250: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 255: warning: comment on exported function ValidFileName should be of the form "ValidFileName ..." (golint)
    • Line 275: warning: exported function ValidBackFileName should have comment or be unexported (golint)
    • marmot/miner/cons.go
    • Line 1: warning: package comment should be of the form "Package miner ..." (golint)
    • Line 1: warning: package comment should not have leading space (golint)
    • Line 12: warning: comment on exported const GET should be of the form "GET ..." (golint)
    • Line 14: warning: exported const POST should have comment (or a comment on this block) or be unexported (golint)
    • Line 25: warning: comment on exported const HTTPFORMContentType should be of the form "HTTPFORMContentType ..." (golint)
    • Line 31: warning: comment on exported const CRITICAL should be of the form "CRITICAL ..." (golint)
    • Line 44: warning: exported var DefaultHeader should have comment or be unexported (golint)
    • Line 50: warning: comment on exported var DefaultTimeOut should be of the form "DefaultTimeOut ..." (golint)
    • Line 54: warning: comment on exported function SetGlobalTimeout should be of the form "SetGlobalTimeout ..." (golint)
    • Line 59: warning: comment on exported function MergeCookie should be of the form "MergeCookie ..." (golint)
    • Line 84: warning: comment on exported function CloneHeader should be of the form "CloneHeader ..." (golint)
    • marmot/util/io.go
    • Line 1: warning: package comment should be of the form "Package util ..." (golint)
    • Line 1: warning: package comment should not have leading space (golint)
    • Line 14: warning: exported function Input should have comment or be unexported (golint)
    • Line 21: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • marmot/util/json.go
    • Line 1: warning: package comment should be of the form "Package util ..." (golint)
    • Line 1: warning: package comment should not have leading space (golint)
    • Line 13: warning: exported function JsonBack should have comment or be unexported (golint)
    • marmot/miner/default.go
    • Line 1: warning: package comment should be of the form "Package miner ..." (golint)
    • Line 1: warning: package comment should not have leading space (golint)
    • Line 14: warning: comment on exported var DefaultWorker should be of the form "DefaultWorker ..." (golint)
    • Line 32: warning: comment on exported function ToString should be of the form "ToString ..." (golint)
    • Line 38: warning: comment on exported function JsonToString should be of the form "JsonToString ..." (golint)
    • Line 44: warning: exported function Get should have comment or be unexported (golint)
    • Line 48: warning: exported function Delete should have comment or be unexported (golint)
    • Line 52: warning: exported function Go should have comment or be unexported (golint)
    • Line 56: warning: exported function GoByMethod should have comment or be unexported (golint)
    • Line 60: warning: exported function OtherGo should have comment or be unexported (golint)
    • Line 64: warning: exported function Post should have comment or be unexported (golint)
    • Line 68: warning: exported function PostJSON should have comment or be unexported (golint)
    • Line 72: warning: exported function PostFILE should have comment or be unexported (golint)
    • Line 76: warning: exported function PostXML should have comment or be unexported (golint)
    • Line 80: warning: exported function Put should have comment or be unexported (golint)
    • Line 83: warning: exported function PutJSON should have comment or be unexported (golint)
    • Line 87: warning: exported function PutFILE should have comment or be unexported (golint)
    • Line 91: warning: exported function PutXML should have comment or be unexported (golint)
    • marmot/miner/log.go
    • Line 1: warning: package comment should be of the form "Package miner ..." (golint)
    • Line 1: warning: package comment should not have leading space (golint)
    • Line 41: warning: comment on exported function SetLogLevel should be of the form "SetLogLevel ..." (golint)
    • Line 47: warning: comment on exported function Log should be of the form "Log ..." (golint)
    • marmot/util/html/token.go
    • Line 25: warning: comment on exported const StartTagToken should be of the form "StartTagToken ..." (golint)
    • Line 27: warning: comment on exported const EndTagToken should be of the form "EndTagToken ..." (golint)
    • Line 29: warning: comment on exported const SelfClosingTagToken should be of the form "SelfClosingTagToken ..." (golint)
    • Line 31: warning: comment on exported const CommentToken should be of the form "CommentToken ..." (golint)
    • Line 33: warning: comment on exported const DoctypeToken should be of the form "DoctypeToken ..." (golint)
    • marmot/example/practice/pictures/main.go
    • Line 1: warning: package comment should not have leading space (golint)
    • Line 15: warning: comment on exported var MinerNum should be of the form "MinerNum ..." (golint)
    • Line 18: warning: comment on exported var ProxyAddress should be of the form "ProxyAddress ..." (golint)
    • marmot/util/time.go
    • Line 1: warning: package comment should be of the form "Package util ..." (golint)
    • Line 1: warning: package comment should not have leading space (golint)
    • Line 13: warning: comment on exported function Sleep should be of the form "Sleep ..." (golint)
    • Line 18: warning: comment on exported function Second should be of the form "Second ..." (golint)
    • Line 23: warning: exported function TodayString should have comment or be unexported (golint)
    • marmot/tool/wx/login.go
    • Line 9: warning: exported type UserInfo should have comment or be unexported (golint)
    • Line 25: warning: exported function Login should have comment or be unexported (golint)
    • marmot/tool/wx/mini_token.go
    • Line 10: warning: exported type Token should have comment or be unexported (golint)
    • Line 14: warning: comment on exported function GlobalToken should be of the form "GlobalToken ..." (golint)
    • marmot/util/util.go
    • Line 1: warning: package comment should be of the form "Package util ..." (golint)
    • Line 1: warning: package comment should not have leading space (golint)
    • Line 15: warning: comment on exported function SI should be of the form "SI ..." (golint)
    • Line 21: warning: comment on exported function IS should be of the form "IS ..." (golint)
    • Line 26: warning: exported function ToLower should have comment or be unexported (golint)
    • Line 30: warning: comment on exported function DivideStringList should be of the form "DivideStringList ..." (golint)
    • Line 54: warning: comment on exported function InArray should be of the form "InArray ..." (golint)
    • Line 64: warning: exported function Substr should have comment or be unexported (golint)

license100%

Checks whether your project has a LICENSE file.

No problems detected. Good job!


ineffassign98%

IneffAssign detects ineffectual assignments in Go code.


misspell96%

Misspell Finds commonly misspelled English words