1) Variable names: don’t leave out letters, and clearly identify semantics.
Num is short for number; is it an index? A count? An offset?
Grad is short for graduate.
This habit comes from ancient language restrictions and 80-column CGA monitors but people still do it.
Is only a few more letters but is unambiguous.
2) the ! Operator is too small for its significance and a lot of code “beautifiers” (to say nothing of developers who think legibility is degrading) will cram it all together
This is horrible. I use direct comparisons instead (and whitespace):
if (isLegible == FALSE)
So it takes a little more time. So what. Tracking down bugs takes thousands of times longer