• dustyData@lemmy.world
    link
    fedilink
    English
    arrow-up
    65
    ·
    9 months ago

    As a professor said, most programming languages don’t care about readability and whitespace. But we care because humans need it to parse meaning. Thus, write code for people, not for the machine. Always assume that someone with no knowledge of the context will have to debug it, and be kind to them. Because that someone might be you in six months when you have completely forgotten how the code works.

    • zalgotext@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      18
      ·
      9 months ago

      Exactly. You read code way more times than you write it, so it makes all the sense in the world to prioritize readability.

    • Swedneck
      link
      fedilink
      English
      arrow-up
      13
      ·
      9 months ago

      Source code is for humans, then the compiler turns it into code for machines.

    • oce 🐆@jlai.lu
      link
      fedilink
      English
      arrow-up
      7
      ·
      9 months ago

      Python forcing end of line and tabs kinda does. Add Black auto-formatter and it’s pretty good.

      • frezik@midwest.social
        link
        fedilink
        English
        arrow-up
        1
        ·
        9 months ago

        I’ve seen too many Python devs write out complex statements all on one crammed up line. Including some that are in the main docs.

        Enforced whitespace is just one aspect of readable code. There are many others, and Python is no better at enforcing those than any other language.

        • oce 🐆@jlai.lu
          link
          fedilink
          English
          arrow-up
          2
          ·
          9 months ago

          That would probably make very long lines and black would automatically add returns to line with proper indentations. But it has a a limit for sure. If you chain many list comprehensions it’s going to be a mess.

    • rockerface 🇺🇦@lemm.ee
      link
      fedilink
      English
      arrow-up
      6
      ·
      edit-2
      9 months ago

      Yep, if you’re writing code for a machine, just do it in binary to save compilation time (/s just in case). Also, you in six months will indeed be someone with no knowledge of the context. And every piece of code you think you write for one-time use is guaranteed to be reused every day for the next 5 years

    • snowsuit2654@lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      2
      ·
      9 months ago

      Yeah I totally agree. You can minimize and optimize as part of your build procedure/compilation but the source code should be as readable as possible for humans.