• Duralf@lemmy.world
    link
    fedilink
    arrow-up
    5
    ·
    1 year ago

    API from a call that accepted integer values between 0 and 32767 (minimum and maximum wheel speeds) to one that accepted float values between 0.0 and 1.0.

    This would cause alarm bells to ring in my head for sure. If I did something like that I would make a new type that was definitely not implicitly castable to or from the old type. Definitely not a raw integer or float type.

    • marcos@lemmy.world
      link
      fedilink
      arrow-up
      4
      ·
      1 year ago

      That kind of code usually is written on a restricted dialect of C.

      C is not a language that allows for that kind of safety practice even on the fully-featured version.

      • Duralf@lemmy.world
        link
        fedilink
        arrow-up
        3
        ·
        1 year ago

        Even in C this is possible. Just wrap the float or whatever in a struct and all implicit conversions will be gone.

      • jbrains@sh.itjust.works
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        Indeed, this is a time for naming conventions that communicate the details that the type system can’t clarify. This leads to the long names that senior programmers make fun of. Don’t listen to them; let them laugh then make this kind of mistake.