• kevincox@lemmy.ml
      link
      fedilink
      arrow-up
      11
      ·
      2 years ago
      1. Use tabs.
      2. Enable visible whitespace.

      Tada, your indentation level is nicely visible.

      • GBU_28@lemm.ee
        link
        fedilink
        English
        arrow-up
        7
        ·
        2 years ago

        With things like black, flake 8 and Isort I can code however I want, list/format however I want, and commit team compliant content. The dream is real

        • CoderKat@lemm.ee
          link
          fedilink
          English
          arrow-up
          1
          ·
          2 years ago

          I love such formatters and wish they were even more widespread. In many cases, I really want consistency above all and it’s so dang hard to achieve that without an opinionated formatter. If the formatters isn’t opinionated enough, it just leads to countless human enforced rules that waste time (and lead to an understandable chorus of “why can’t the formatter just do that for meeeee”).

    • Jakylla@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      4
      arrow-down
      2
      ·
      2 years ago

      4 Spaces, then one tab, then 3 spaces, then 2 tabs, then 2 spaces, then 3 tabs…

      Python supports that (and I hate this)

        • Jakylla@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          2 years ago

          Not any standard (and actually not at all something to do for real), but try it, it works

          def magic(a, b, c):
              if a > 0:
              	if b > 0:
              	   		if c > 0:
              	   		  return 'All positive'
              
              return 'Not all positive'
          
          print(magic(1,2,3))
          print(magic(-1,1,2))
          print(magic(1,-1,0))
          print(magic(-1,-1,-2))
          

          (you should be able to verify I used both tab and spaces f*cking bad way in this example, like I described)

          Output:

          All positive
          Not all positive
          Not all positive
          Not all positive
          
          
          ** Process exited - Return Code: 0 **
          Press Enter to exit terminal
          
          • realaether@lemmy.world
            link
            fedilink
            English
            arrow-up
            2
            ·
            2 years ago

            That’s really interesting. So does that mean the interpreter just checks whether the current line is more indented, less indented, or equal vs. the preceding, without caring by how much?

      • cartoon meme dog@lemm.ee
        link
        fedilink
        arrow-up
        1
        arrow-down
        1
        ·
        2 years ago

        “indentation is indentation!” (mr_incredible_cereal.jpg)

        it may look messy, but would you actually rather Python didn’t support some inconsistency when the intent is clear?

        being exact just for the sake of being pedantic isn’t useful.