Preparing report...

Report for github.com/tobgu/qframe

A+    Excellent!    Found 55 issues across 106 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!


gocyclo92%

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.

    • qframe/qframe.go
    • Line 256: warning: cyclomatic complexity 19 of function (QFrame).filter() is high (> 15) (gocyclo)
    • Line 99: warning: cyclomatic complexity 19 of function createColumn() is high (> 15) (gocyclo)
    • Line 756: warning: cyclomatic complexity 19 of function (QFrame).apply0() is high (> 15) (gocyclo)
    • qframe/internal/io/csv.go
    • Line 208: warning: cyclomatic complexity 33 of function columnToData() is high (> 15) (gocyclo)
    • Line 44: warning: cyclomatic complexity 23 of function ReadCSV() is high (> 15) (gocyclo)

golint50%

Golint is a linter for Go source code.

    • qframe/internal/index/index.go
    • Line 3: warning: exported type Int should have comment or be unexported (golint)
    • Line 5: warning: exported type Bool should have comment or be unexported (golint)
    • Line 7: warning: exported function NewBool should have comment or be unexported (golint)
    • Line 11: warning: exported function NewAscending should have comment or be unexported (golint)
    • Line 20: warning: exported method Int.Filter should have comment or be unexported (golint)
    • Line 38: warning: exported method Int.ByteSize should have comment or be unexported (golint)
    • Line 42: warning: exported method Int.Len should have comment or be unexported (golint)
    • Line 46: warning: exported method Int.Copy should have comment or be unexported (golint)
    • Line 52: warning: exported method Bool.Len should have comment or be unexported (golint)
    • qframe/internal/sort/sorter.go
    • Line 12: warning: exported type Sorter should have comment or be unexported (golint)
    • Line 17: warning: exported function New should have comment or be unexported (golint)
    • Line 21: warning: exported method Sorter.Sort should have comment or be unexported (golint)
    • qframe/internal/column/column.go
    • Line 11: warning: exported type Column should have comment or be unexported (golint)
    • Line 33: warning: exported type CompareResult should have comment or be unexported (golint)
    • Line 36: warning: exported const LessThan should have comment (or a comment on this block) or be unexported (golint)
    • Line 40: warning: comment on exported const NotEqual should be of the form "NotEqual ..." (golint)
    • Line 44: warning: exported type Comparable should have comment or be unexported (golint)
    • qframe/internal/strings/convert.go
    • Line 11: warning: exported function ParseInt should have comment or be unexported (golint)
    • Line 16: warning: exported function ParseFloat should have comment or be unexported (golint)
    • Line 21: warning: exported function ParseBool should have comment or be unexported (golint)
    • Line 25: warning: exported function UnsafeBytesToString should have comment or be unexported (golint)
    • Line 35: warning: exported function QuotedBytes should have comment or be unexported (golint)
    • Line 42: warning: comment on exported function ToUpper should be of the form "ToUpper ..." (golint)
    • qframe/internal/ecolumn/view.go
    • Line 5: warning: exported type View should have comment or be unexported (golint)
    • Line 10: warning: exported method View.ItemAt should have comment or be unexported (golint)
    • Line 14: warning: exported method View.Len should have comment or be unexported (golint)
    • Line 18: warning: exported method View.Slice should have comment or be unexported (golint)
    • qframe/internal/ryu/ryu.go
    • Line 117: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 127: warning: comment on exported function FormatFloat64f should be of the form "FormatFloat64f ..." (golint)
    • Line 135: warning: comment on exported function AppendFloat64f should be of the form "AppendFloat64f ..." (golint)
    • Line 165: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • qframe/internal/strings/set.go
    • Line 3: warning: exported type StringSet should have comment or be unexported (golint)
    • Line 5: warning: exported function NewEmptyStringSet should have comment or be unexported (golint)
    • Line 9: warning: exported function NewStringSet should have comment or be unexported (golint)
    • Line 18: warning: exported method StringSet.Contains should have comment or be unexported (golint)
    • Line 23: warning: exported method StringSet.Add should have comment or be unexported (golint)
    • Line 27: warning: exported method StringSet.AsSlice should have comment or be unexported (golint)
    • qframe/internal/math/integer/int.go
    • Line 5: warning: exported function Max should have comment or be unexported (golint)
    • Line 12: warning: exported function Min should have comment or be unexported (golint)
    • Line 19: warning: exported function Pow2 should have comment or be unexported (golint)
    • qframe/internal/icolumn/column.go
    • Line 14: warning: exported method Column.DataType should have comment or be unexported (golint)
    • Line 18: warning: exported method Column.StringAt should have comment or be unexported (golint)
    • Line 22: warning: exported method Column.AppendByteStringAt should have comment or be unexported (golint)
    • Line 26: warning: exported method Column.ByteSize should have comment or be unexported (golint)
    • Line 31: warning: exported method Column.Equals should have comment or be unexported (golint)
    • Line 46: warning: exported method Column.FloatSlice should have comment or be unexported (golint)
    • Line 55: warning: exported method Comparable.Compare should have comment or be unexported (golint)
    • Line 68: warning: exported method Comparable.Hash should have comment or be unexported (golint)
    • Line 188: warning: exported method Column.Filter should have comment or be unexported (golint)
    • Line 203: warning: exported method Column.FunctionType should have comment or be unexported (golint)
    • Line 207: warning: exported method Column.Append should have comment or be unexported (golint)
    • qframe/internal/io/csv.go
    • Line 22: warning: comment on exported type CSVConfig should be of the form "CSVConfig ..." (with optional leading article) (golint)
    • Line 35: warning: comment on exported type ToCsvConfig should be of the form "ToCsvConfig ..." (with optional leading article) (golint)
    • Line 44: warning: exported function ReadCSV should have comment or be unexported (golint)
    • qframe/internal/io/json.go
    • Line 9: warning: exported type JSONRecords should have comment or be unexported (golint)
    • Line 11: warning: exported type JSONColumns should have comment or be unexported (golint)
    • qframe/internal/template/generate.go
    • Line 9: warning: exported const HeaderTemplate should have comment or be unexported (golint)
    • Line 22: warning: exported type Spec should have comment or be unexported (golint)
    • Line 43: warning: exported function Generate should have comment or be unexported (golint)
    • qframe/internal/ecolumn/column.go
    • Line 38: warning: exported type Column should have comment or be unexported (golint)
    • Line 52: warning: exported function New should have comment or be unexported (golint)
    • Line 71: warning: exported function NewConst should have comment or be unexported (golint)
    • Line 89: warning: exported function NewFactory should have comment or be unexported (golint)
    • Line 108: warning: exported method Factory.AppendNil should have comment or be unexported (golint)
    • Line 112: warning: exported method Factory.AppendEnum should have comment or be unexported (golint)
    • Line 116: warning: exported method Factory.AppendByteString should have comment or be unexported (golint)
    • Line 126: warning: exported method Factory.AppendString should have comment or be unexported (golint)
    • Line 176: warning: exported method Factory.ToColumn should have comment or be unexported (golint)
    • Line 200: warning: exported method Column.Len should have comment or be unexported (golint)
    • Line 204: warning: exported method Column.StringAt should have comment or be unexported (golint)
    • Line 213: warning: exported method Column.AppendByteStringAt should have comment or be unexported (golint)
    • Line 222: warning: exported method Column.ByteSize should have comment or be unexported (golint)
    • Line 231: warning: exported method Column.Equals should have comment or be unexported (golint)
    • Line 255: warning: exported method Comparable.Compare should have comment or be unexported (golint)
    • Line 280: warning: exported method Comparable.Hash should have comment or be unexported (golint)
    • Line 403: warning: exported method Column.Filter should have comment or be unexported (golint)
    • Line 427: warning: exported method Column.Subset should have comment or be unexported (golint)
    • Line 444: warning: exported method Column.Comparable should have comment or be unexported (golint)
    • Line 476: warning: exported method Column.Aggregate should have comment or be unexported (golint)
    • Line 500: warning: exported method Column.Apply1 should have comment or be unexported (golint)
    • Line 543: warning: exported method Column.Apply2 should have comment or be unexported (golint)
    • Line 568: warning: exported method Column.View should have comment or be unexported (golint)
    • Line 572: warning: exported method Column.Rolling should have comment or be unexported (golint)
    • Line 576: warning: exported method Column.FunctionType should have comment or be unexported (golint)
    • Line 580: warning: exported method Column.DataType should have comment or be unexported (golint)
    • Line 584: warning: exported method Column.Append should have comment or be unexported (golint)
    • Line 589: warning: exported type Comparable should have comment or be unexported (golint)
    • qframe/types/types.go
    • Line 38: warning: exported const FunctionTypeUndefined should have comment (or a comment on this block) or be unexported (golint)
    • qframe/config/rolling/config.go
    • Line 14: warning: comment on exported type Config should be of the form "Config ..." (with optional leading article) (golint)
    • Line 28: warning: exported function NewConfig should have comment or be unexported (golint)
    • qframe/internal/template/filters.go
    • Line 7: warning: exported const BasicColConstComparison should have comment or be unexported (golint)
    • Line 17: warning: exported const BasicColColComparison should have comment or be unexported (golint)
    • Line 28: warning: exported function GenerateFilters should have comment or be unexported (golint)
    • qframe/internal/template/placeholders.go
    • Line 18: warning: exported method Column.DataType should have comment or be unexported (golint)
    • Line 22: warning: comment on exported method Column.AppendByteStringAt should be of the form "AppendByteStringAt ..." (golint)
    • Line 27: warning: exported method Column.ByteSize should have comment or be unexported (golint)
    • Line 31: warning: exported method Column.Equals should have comment or be unexported (golint)
    • Line 35: warning: exported method Column.Filter should have comment or be unexported (golint)
    • Line 39: warning: exported method Column.FunctionType should have comment or be unexported (golint)
    • Line 43: warning: exported method Column.Marshaler should have comment or be unexported (golint)
    • Line 47: warning: exported method Column.StringAt should have comment or be unexported (golint)
    • Line 51: warning: exported method Column.Append should have comment or be unexported (golint)
    • Line 55: warning: exported method Comparable.Compare should have comment or be unexported (golint)
    • Line 59: warning: exported method Comparable.Hash should have comment or be unexported (golint)
    • qframe/internal/scolumn/view.go
    • Line 5: warning: exported type View should have comment or be unexported (golint)
    • Line 10: warning: exported method View.ItemAt should have comment or be unexported (golint)
    • Line 14: warning: exported method View.Len should have comment or be unexported (golint)
    • Line 18: warning: exported method View.Slice should have comment or be unexported (golint)
    • qframe/internal/ncolumn/column.go
    • Line 17: warning: exported type Column should have comment or be unexported (golint)
    • Line 23: warning: exported method Column.Filter should have comment or be unexported (golint)
    • Line 27: warning: exported method Column.Subset should have comment or be unexported (golint)
    • Line 31: warning: exported method Column.Equals should have comment or be unexported (golint)
    • Line 35: warning: exported method Column.Comparable should have comment or be unexported (golint)
    • Line 39: warning: exported method Column.Aggregate should have comment or be unexported (golint)
    • Line 43: warning: exported method Column.StringAt should have comment or be unexported (golint)
    • Line 47: warning: exported method Column.AppendByteStringAt should have comment or be unexported (golint)
    • Line 51: warning: exported method Column.ByteSize should have comment or be unexported (golint)
    • Line 55: warning: exported method Column.Len should have comment or be unexported (golint)
    • Line 59: warning: exported method Column.Apply1 should have comment or be unexported (golint)
    • Line 63: warning: exported method Column.Apply2 should have comment or be unexported (golint)
    • Line 67: warning: exported method Column.Rolling should have comment or be unexported (golint)
    • Line 71: warning: exported method Column.FunctionType should have comment or be unexported (golint)
    • Line 75: warning: exported method Column.DataType should have comment or be unexported (golint)
    • Line 79: warning: exported type Comparable should have comment or be unexported (golint)
    • Line 81: warning: exported method Comparable.Compare should have comment or be unexported (golint)
    • Line 85: warning: exported method Comparable.Hash should have comment or be unexported (golint)
    • Line 89: warning: exported method Column.Append should have comment or be unexported (golint)
    • qframe/internal/bcolumn/column.go
    • Line 13: warning: exported method Comparable.Compare should have comment or be unexported (golint)
    • Line 26: warning: exported method Comparable.Hash should have comment or be unexported (golint)
    • Line 36: warning: exported method Column.DataType should have comment or be unexported (golint)
    • Line 40: warning: exported method Column.StringAt should have comment or be unexported (golint)
    • Line 44: warning: exported method Column.AppendByteStringAt should have comment or be unexported (golint)
    • Line 48: warning: exported method Column.ByteSize should have comment or be unexported (golint)
    • Line 53: warning: exported method Column.Equals should have comment or be unexported (golint)
    • Line 111: warning: exported method Column.Filter should have comment or be unexported (golint)
    • Line 126: warning: exported method Column.FunctionType should have comment or be unexported (golint)
    • Line 130: warning: exported method Column.Append should have comment or be unexported (golint)
    • qframe/internal/fcolumn/column.go
    • Line 18: warning: exported method Column.DataType should have comment or be unexported (golint)
    • Line 22: warning: exported method Column.StringAt should have comment or be unexported (golint)
    • Line 30: warning: exported method Column.AppendByteStringAt should have comment or be unexported (golint)
    • Line 39: warning: exported method Column.ByteSize should have comment or be unexported (golint)
    • Line 44: warning: exported method Column.Equals should have comment or be unexported (golint)
    • Line 63: warning: exported method Comparable.Compare should have comment or be unexported (golint)
    • Line 88: warning: exported method Comparable.Hash should have comment or be unexported (golint)
    • Line 154: warning: exported method Column.Filter should have comment or be unexported (golint)
    • Line 169: warning: exported method Column.FunctionType should have comment or be unexported (golint)
    • Line 173: warning: exported method Column.Append should have comment or be unexported (golint)
    • qframe/internal/fastcsv/csv.go
    • Line 154: warning: exported type Reader should have comment or be unexported (golint)
    • Line 159: warning: comment on exported method Reader.Next should be of the form "Next ..." (golint)
    • Line 192: warning: comment on exported method Reader.Fields should be of the form "Fields ..." (golint)
    • Line 198: warning: comment on exported method Reader.Err should be of the form "Err ..." (golint)
    • Line 240: warning: comment on exported function NewReader should be of the form "NewReader ..." (golint)
    • qframe/internal/strings/match.go
    • Line 10: warning: exported type Matcher should have comment or be unexported (golint)
    • Line 14: warning: exported type CIStringMatcher should have comment or be unexported (golint)
    • Line 19: warning: exported type CIPrefixMatcher should have comment or be unexported (golint)
    • Line 21: warning: exported method CIPrefixMatcher.Matches should have comment or be unexported (golint)
    • Line 25: warning: exported type CISuffixMatcher should have comment or be unexported (golint)
    • Line 27: warning: exported method CISuffixMatcher.Matches should have comment or be unexported (golint)
    • Line 31: warning: exported type CIContainsMatcher should have comment or be unexported (golint)
    • Line 33: warning: exported method CIContainsMatcher.Matches should have comment or be unexported (golint)
    • Line 37: warning: exported type CIExactMatcher should have comment or be unexported (golint)
    • Line 39: warning: exported method CIExactMatcher.Matches should have comment or be unexported (golint)
    • Line 43: warning: exported type StringMatcher should have comment or be unexported (golint)
    • Line 47: warning: exported type PrefixMatcher should have comment or be unexported (golint)
    • Line 49: warning: exported method PrefixMatcher.Matches should have comment or be unexported (golint)
    • Line 53: warning: exported type SuffixMatcher should have comment or be unexported (golint)
    • Line 55: warning: exported method SuffixMatcher.Matches should have comment or be unexported (golint)
    • Line 59: warning: exported type ContainsMatcher should have comment or be unexported (golint)
    • Line 61: warning: exported method ContainsMatcher.Matches should have comment or be unexported (golint)
    • Line 65: warning: exported type ExactMatcher should have comment or be unexported (golint)
    • Line 67: warning: exported method ExactMatcher.Matches should have comment or be unexported (golint)
    • Line 71: warning: exported type RegexpMatcher should have comment or be unexported (golint)
    • Line 75: warning: exported method RegexpMatcher.Matches should have comment or be unexported (golint)
    • Line 85: warning: exported function NewMatcher should have comment or be unexported (golint)
    • qframe/internal/strings/pointer.go
    • Line 24: warning: exported function NewPointer should have comment or be unexported (golint)
    • Line 32: warning: exported method Pointer.Offset should have comment or be unexported (golint)
    • Line 36: warning: exported method Pointer.Len should have comment or be unexported (golint)
    • Line 40: warning: exported method Pointer.IsNull should have comment or be unexported (golint)
    • qframe/internal/scolumn/column.go
    • Line 45: warning: exported method Column.StringAt should have comment or be unexported (golint)
    • Line 67: warning: exported method Column.AppendByteStringAt should have comment or be unexported (golint)
    • Line 76: warning: exported method Column.ByteSize should have comment or be unexported (golint)
    • Line 80: warning: exported method Column.Len should have comment or be unexported (golint)
    • Line 84: warning: exported method Column.Equals should have comment or be unexported (golint)
    • Line 109: warning: exported method Comparable.Compare should have comment or be unexported (golint)
    • Line 135: warning: exported method Comparable.Hash should have comment or be unexported (golint)
    • Line 209: warning: exported method Column.Filter should have comment or be unexported (golint)
    • Line 224: warning: exported type Column should have comment or be unexported (golint)
    • Line 229: warning: exported function NewBytes should have comment or be unexported (golint)
    • Line 233: warning: exported function NewStrings should have comment or be unexported (golint)
    • Line 246: warning: exported function New should have comment or be unexported (golint)
    • Line 264: warning: exported function NewConst should have comment or be unexported (golint)
    • Line 325: warning: exported method Column.Subset should have comment or be unexported (golint)
    • Line 329: warning: exported method Column.Comparable should have comment or be unexported (golint)
    • Line 351: warning: exported method Column.Aggregate should have comment or be unexported (golint)
    • Line 374: warning: exported method Column.Apply1 should have comment or be unexported (golint)
    • Line 410: warning: exported method Column.Apply2 should have comment or be unexported (golint)
    • Line 431: warning: exported method Column.View should have comment or be unexported (golint)
    • Line 435: warning: exported method Column.Rolling should have comment or be unexported (golint)
    • Line 439: warning: exported method Column.FunctionType should have comment or be unexported (golint)
    • Line 443: warning: exported method Column.DataType should have comment or be unexported (golint)
    • Line 447: warning: exported method Column.Append should have comment or be unexported (golint)
    • Line 452: warning: exported type Comparable should have comment or be unexported (golint)
    • qframe/internal/io/sql/types.go
    • Line 17: warning: exported type SQLConfig should have comment or be unexported (golint)
    • Line 42: warning: exported type ArgBuilder should have comment or be unexported (golint)
    • Line 44: warning: exported function NewArgBuilder should have comment or be unexported (golint)
    • qframe/internal/grouper/grouper.go
    • Line 126: warning: exported type GroupStats should have comment or be unexported (golint)
    • Line 155: warning: exported function GroupBy should have comment or be unexported (golint)
    • Line 171: warning: exported function Distinct should have comment or be unexported (golint)
    • qframe/internal/template/column.go
    • Line 21: warning: exported type Column should have comment or be unexported (golint)
    • Line 25: warning: exported function New should have comment or be unexported (golint)
    • Line 29: warning: exported function NewConst should have comment or be unexported (golint)
    • Line 45: warning: comment on exported method Column.Apply1 should be of the form "Apply1 ..." (golint)
    • Line 78: warning: comment on exported method Column.Apply2 should be of the form "Apply2 ..." (golint)
    • Line 108: warning: exported method Column.Subset should have comment or be unexported (golint)
    • Line 112: warning: exported method Column.Comparable should have comment or be unexported (golint)
    • Line 134: warning: exported method Column.Len should have comment or be unexported (golint)
    • Line 138: warning: exported method Column.Aggregate should have comment or be unexported (golint)
    • Line 177: warning: exported method Column.View should have comment or be unexported (golint)
    • Line 181: warning: exported method Column.Rolling should have comment or be unexported (golint)
    • Line 185: warning: exported type Comparable should have comment or be unexported (golint)

ineffassign100%

IneffAssign detects ineffectual assignments in Go code.

No problems detected. Good job!


license100%

Checks whether your project has a LICENSE file.

No problems detected. Good job!


misspell99%

Misspell Finds commonly misspelled English words