• BitSound@lemmy.world
    link
    fedilink
    English
    arrow-up
    45
    arrow-down
    1
    ·
    1 year ago

    “Ok class, for the rest of the semester, we’re going to use the C89 standard”.

    I forgot the return 0; at the end of my main function and lost points on a test. Decided to be a point slut to ensure an A in the class and argued that it’s allowed in the C99 standard. The professor sighed and gave me back my points, but next class specified the exact standard he was grading by.

    • thebestaquaman@lemmy.world
      link
      fedilink
      English
      arrow-up
      20
      ·
      1 year ago

      I have to admit it sounds stupid to deduct points for that anyway, a test should measure your ability to reason, not your ability to remember trivial formalities.

      • aDogCalledSpot
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 year ago

        Unfortunately C needs you to remember a lot of formalities and best practices to keep things from blowing up in your face. So I think it makes sense in this case.

        • thebestaquaman@lemmy.world
          link
          fedilink
          English
          arrow-up
          3
          ·
          1 year ago

          I definitely agree that breaking best practices in a way that could lead to UB or hard-to-find bugs should give point deduction. The sole requirement shouldn’t be “write standard compliant code”.

          However, a test does not simulate a real-world development environment, where you will have time to look through your code with fresh eyes the next day, and maybe even have someone review your code. The only thing a test reasonably simulates is your ability to solve the “thinking” part of the problem on your own. Thus, deducting points for trivial stuff that would 10/10 times be caught, either by the compiler, the developer or the reviewer, but isn’t “strictly correct” just seems pedantic to me.

          To be fair, other than the example by OP I have a hard time coming up with things that wouldn’t be either caught by the compiler or are very bad practice (which should give point deduction).