Meme transcription:

Panel 1: Bilbo Baggins ponders, “After all… why should I care about the difference between int and String?

Panel 2: Bilbo Baggins is revealed to be an API developer. He continues, “JSON is always String, anyways…”

  • skuzz@discuss.tchncs.de
    link
    fedilink
    arrow-up
    35
    ·
    4 days ago

    “Hey, it appears to be int most of the time except that one time it has letters.”

    throws keyboard in trash

    • Username@feddit.de
      link
      fedilink
      arrow-up
      15
      ·
      4 days ago

      Rust has perfectly fine tools to deal with such issues, namely enums. Of course that cascades through every bit of related code and is a major pain.

      • RustyNova@lemmy.world
        link
        fedilink
        arrow-up
        23
        ·
        4 days ago

        Sadly it doesn’t fix the bad documentation problem. I often don’t care that a field is special and either give a string or number. This is fine.

        What is not fine, and which should sentence you to eternal punishment, is to not clearly document it.

        Don’t you love when you publish a crate, have tested it on thousands of returned objects, only for the first issue be “field is sometimes null/other type?”. You really start questioning everything about the API, and sometimes you’d rather parse it as serde::Value and call it a day.