Warning: Some posts on this platform may contain adult material intended for mature audiences only. Viewer discretion is advised. By clicking ‘Continue’, you confirm that you are 18 years or older and consent to viewing explicit content.
“Ok class, for the rest of the semester, we’re going to use the C89 standard”.
I forgot the return0; 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.
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.
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.
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).
“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.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.
Yes, but it’s easier/less effort to grade that way which is why so many do it
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.
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).
89 or 99? Gotta ask if we’re being pedantic 😏