1.1 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			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/parsinglogic ->result.go
 
- move 
- 
add addResult->result.go- remove parser struct's:totalVisits,totalUniques
- change update()'s last line:p.sum[r.domain] = addResult
 
- remove 
- 
remove (line #d)errors fromresult.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
 
 
- add: 
- 
parser.go: check theparseFields():r, err := parseFields(line) if err != nil { p.lerr = fmt.Errorf("line %d: %v", p.lines, err) }```
- 
- parser.goand- summarize.go
- remove total int
- let summarize()calculate the totals