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
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.
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.