Whenever you store a value that has a unit in a variable, config option or CLI switch, include the unit in the name. So:

  • maxRequestSize => maxRequestSizeBytes
  • elapsedTime => elapsedSeconds
  • cacheSize => cacheSizeMB
  • chargingTime => chargingTimeHours
  • fileSizeLimit => fileSizeLimitGB
  • temperatureThreshold => temperatureThresholdCelsius
  • diskSpace => diskSpaceTerabytes
  • flightAltitude => flightAltitudeFeet
  • monitorRefreshRate => monitorRefreshRateHz
  • serverResponseTimeout => serverResponseTimeoutMs
  • connectionSpeed => connectionSpeedMbps

EDIT: I know it’s better to use types to represent units. Please don’t write yet another comment about it. You can find my response to that point here: https://programming.dev/comment/219329

  • lavafroth
    link
    fedilink
    English
    arrow-up
    10
    ·
    1 year ago

    I think some of the modern languages handle this pretty well. Rust has algebraic data types thanks to its brilliant use of enums. Go has a similar type system. Taking the elapsedTime example from the post, for solving this duration related problem, a Rust programmer would use Duration::from_millis(millis) or Duration::from_secs(secs) and forget about the unit. It’s a duration, that’s what you wanna care about.