• einkorn
    link
    fedilink
    arrow-up
    3
    arrow-down
    6
    ·
    2 months ago

    I can’t find it right now, but there is some explanation in “Clean Code” why switches shouldn’t be used all over the place.

    • djnattyp@lemmy.world
      link
      fedilink
      arrow-up
      4
      arrow-down
      1
      ·
      2 months ago

      Google for “replace conditional with polymorphism”.

      Just checked and it is in “Clean Code” - Chaper 17; Section G23 “Prefer Polymorphism to if/else or switch/case”.

      • FizzyOrange@programming.dev
        link
        fedilink
        arrow-up
        4
        ·
        2 months ago

        This is really terrible advice. Sometimes it’s better to do that, but definitely not in the example from this article.

        If anyone says you should always prefer polymorphism to switches they are a bloody idiot.

        • PushButton@lemmy.world
          link
          fedilink
          arrow-up
          3
          ·
          2 months ago

          I always love watching people falling for Clown-Bob’s advises…

          Let’s go, let’s eat shit on toasts! It’s just a matter of how thin you can spread it to hide the taste…

    • magic_lobster_party@fedia.io
      link
      fedilink
      arrow-up
      3
      ·
      2 months ago

      In case you’re wondering about the down votes, many think Clean Code is not a good book. It got a few good advice, but it also got bad advice disguised as good advice.

      I don’t think switch statements should always be avoided. There are cases where polymorphism makes things more difficult to maintain. Saying polymorphism should be used over switch statements is not a good advice.

      Here’s an article going into more detail why we should stop recommending Clean Code: https://qntm.org/clean