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.

  • m_r_butts@kbin.social
    link
    fedilink
    arrow-up
    6
    arrow-down
    1
    ·
    7 months 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
      ·
      7 months 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 < JUST_THE_WORST_NUMBER; i += 2) {
          Console.WriteLine(i);
      }
      
      • m_r_butts@kbin.social
        link
        fedilink
        arrow-up
        2
        arrow-down
        1
        ·
        7 months 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.