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

  • 𝕊𝕚𝕤𝕪𝕡𝕙𝕖𝕒𝕟OP
    link
    fedilink
    English
    61 year ago

    I understand what you mean, and I even agree with it, but just to be a little pedantic, variable names are code, or at least they are more code than comments or docs.

    But yes, encoding units into the type system is a much better solution. It doesn’t work however for config options, environment variables or CLI switches.

    • @abhibeckert
      link
      English
      11 year ago

      It does work - you have a function somewhere that converts your environment variable to the correct type, possibly with a default value, throwing an exception if it’s an invalid value (maybe cache size has a minimum of 100MB or the software will be unusable), and has extensive unit tests for the function.