From d26aa2dca1b14b7d52070825bfc73c5e8aed7a16 Mon Sep 17 00:00:00 2001 From: Martin Kagamino Lehoux Date: Fri, 21 Aug 2026 11:04:57 +0200 Subject: refactor(ride,rideanalysis): replace magic numbers with named constants --- rideanalysis/analysis.go | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'rideanalysis/analysis.go') diff --git a/rideanalysis/analysis.go b/rideanalysis/analysis.go index 632f729..a4c319f 100644 --- a/rideanalysis/analysis.go +++ b/rideanalysis/analysis.go @@ -9,6 +9,13 @@ import ( "github.com/martinlehoux/biking_home/ride" ) +const ( + passMatchRadiusM = 300 + passMatchElevationToleranceM = 50 + passCrossingRadiusM = 100 + passCrossingElevationToleranceM = 25 +) + type Result struct { Climbs []AnalyzedClimb Crossings []mountain_pass.Crossing @@ -32,7 +39,7 @@ func Analyze(parsed ride.Ride, passes []mountain_pass.MountainPass, officialClim } for _, detectedClimb := range parsed.AllClimbs() { displayClimb := detectedClimb - if matchedPass, ok := mountain_pass.MatchClimb(displayClimb, passes, 300, 50); ok { + if matchedPass, ok := mountain_pass.MatchClimb(displayClimb, passes, passMatchRadiusM, passMatchElevationToleranceM); ok { displayClimb.Name = matchedPass.Name } matchedOfficial, officialFound := official_climb.MatchClimb(parsed, detectedClimb, officialClimbs, matchPolicy) @@ -51,7 +58,7 @@ func Analyze(parsed ride.Ride, passes []mountain_pass.MountainPass, officialClim result.Climbs = append(result.Climbs, AnalyzedClimb{ Segment: displayClimb, Name: displayClimb.Name, - Category: ride.Category(cotacol), + Category: ride.CategoryOf(cotacol).String(), DistanceM: displayClimb.EndDistanceM() - displayClimb.StartDistanceM(), SlopePercent: ride.Slope(parsed, displayClimb.StartIndex(), displayClimb.EndIndex()) * 100, Cotacol: cotacol, @@ -59,7 +66,7 @@ func Analyze(parsed ride.Ride, passes []mountain_pass.MountainPass, officialClim OfficialName: officialClimbName(matchedOfficial, officialFound), }) } - for _, crossing := range mountain_pass.DetectCrossings(parsed, passes, 100, 25) { + for _, crossing := range mountain_pass.DetectCrossings(parsed, passes, passCrossingRadiusM, passCrossingElevationToleranceM) { result.Crossings = append(result.Crossings, crossing) } return result -- cgit v1.3