• Boomkop3@reddthat.com
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    1 day ago

    In most cases it’s a bad idea, yes.

    Also, have another look at that example code snippet though: that static variable is local to that function. It’s a weird feature in c.

    I’ve used it quite often in embedded code where a single variable was only for one function, and only for that one app/device. Wrapping it in a struct would’ve made the code needlessly more complex (that’s a code smell). And yet, these static locals are very easy to refactor to one local to a struct. May the situation change, that’s still an option.

    • FizzyOrange@programming.dev
      link
      fedilink
      arrow-up
      0
      ·
      1 day ago

      that static variable is local to that function

      Yes I know how static storage durations work. It’s still global state, which is a code smell. Actually I’d go as far as to say global state is just bad practice, not just a smell. Occasionally it’s the only option, and it’s definitely the lazy option which I won’t claim to never take!