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
In languages with static and convenient type systems, I try to instead encode units as types. With clever C++ templating, you can even get implicit conversions (e.g. second -> hour) and compound types (e.g. meter and second types also generate m/s, m/s^2 and so on).
IIRC F# even has built-in support for units.
A good example is Go’s time package. You’d normally express durations like
5 * time.Second
and the result is atime.Duration
. Under the hood, it’s just an int64 nanoseconds, but you’d never use it as a plain nanoseconds. You’d instead use it liked.Seconds()
to get whichever unit you desire.