I’m studying programming, and I don’t agree woth my teacher. She basically said that if we use break (and continue too maybe) our test is an instant fail. She’s reasoning is that it makes the code harder to read, and breaks the flow of it or something. (I didn’t get her yapping tbh)

I can’t understand why break would do anything of the sorts. I asked around and noone agreed with the teacher. So I came here. Is there a benefit to not using breaks or continues? And if you think she’s wrong, please explain why, briefly even. We do enough down talking on almost all teachers she doesn’t need more online.

  • xmunk@sh.itjust.works
    link
    fedilink
    arrow-up
    4
    ·
    1 year ago

    It might just be an insufficient amount of whitespace, but your second example seems much harder to parse. As someone who regularly writes extremely dense functional paradigm code - you can always use more newlines.

    • m_r_butts@kbin.social
      link
      fedilink
      arrow-up
      6
      arrow-down
      1
      ·
      1 year ago

      Fine:

      var enumerable = Enumerable.Range(0, 100)
          .Where(i => i % 2 != 0)
          .TakeWhile(i => i < JUST_THE_WORST_NUMBER);
      foreach (int i in enumerable)
      {
          Console.WriteLine(i);
      }
      
      
      • olsonexi@lemmy.wtf
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        idk, maybe C# just doesn’t have great syntax for the way you’re doing it or something, but I think the simplest solution is the most readable in this case:

        for (int i = 1; i &lt; JUST_THE_WORST_NUMBER; i += 2) {
            Console.WriteLine(i);
        }
        
        • m_r_butts@kbin.social
          link
          fedilink
          arrow-up
          2
          arrow-down
          1
          ·
          1 year ago

          I came up with a contrived example for the sake of illustration, and deliberately chose to use LINQ to build the enumerable because of how valuable it can be in filtering and ordering data. Where and TakeWhile alone can replace a whole lot of continues and breaks.

          Your code does the same job as my first example, and it’s simpler, and maybe that’s more appropriate for the class.