[PATCH] Amend divetrip model to use int units
Dirk Hohndel
dirk at hohndel.org
Wed Apr 24 10:44:58 PDT 2013
On Wed, 2013-04-24 at 10:43 -0700, Linus Torvalds wrote:
> On Wed, Apr 24, 2013 at 8:57 AM, <amit.k.chaudhuri at gmail.com> wrote:
> >
> > Amend the DiveItem class to avoid float in favour of int
>
> No. Don't do this. "int" is better than "float", but it's still bad,
> because there is no unit, and there is no type safety.
>
> There's a really good reason why we do *not* write
>
> int depth;
>
> but instead write
>
> depth_t depth;
>
> and that is very important. The "depth_t" is typesafe (you can't
> mistakenly switch the order of a depth_t and a duration_t, even if
> they end up both having integral values), and "depth_t" has a *unit*,
> namely "mm". There is never any question about what "depth_t depth"
> means, unlike "int depth".
>
> We've used these types since very early on, and they've helped avoid
> unit issues etc. When you have to use "temp.mkelvin" to actually look
> at a temperature value, there's never any confusion about whether the
> values might have been converted to Celsius or Fahrenheit or whatever
> for display. Because our variables have *units*.
YES. What he said :-)
/D
More information about the subsurface
mailing list