Files
learngo/interfaces/refactor-notes/refactor-00/changes.md
2019-08-19 10:21:17 +03:00

1.1 KiB

CHANGES

PROBLEM

  • adding new fields makes the code complex
  • needs to update: result, parser, summarizer
  • needs to add new fields to parser: totalVisits + totalUniques
  • in parse(): repeating line errors
    • if we parsing out of it we'd need to have *parser — superfluous

SOLUTION

  • move all the result related logic to result.go

  • move parser.go/result -> result.go

    • move parser.go/parsing logic -> result.go
  • add addResult -> result.go

    • remove parser struct's: totalVisits, totalUniques
    • change update()'s last line: p.sum[r.domain] = addResult
  • remove (line #d) errors from result.go

    • add: return r, err — named params are error prone
    • always check for the error first
      • if r.visits < 0 || err != nil -> if err != nil || r.visits < 0
  • parser.go: check the parseFields():

    r, err := parseFields(line)
    if err != nil {
        p.lerr = fmt.Errorf("line %d: %v", p.lines, err)
    }```
    
    
    • parser.go and summarize.go
    • remove total int
    • let summarize() calculate the totals