What do you guys think about this?
Posted by one of the OU tutors, and reproduced here with his permission.
And now for something totally different... At the weekend, I spent some time chatting to a (software) development manager for a sizeable public company. He spends a lot of his time trying to persuade his coders to stop using C/C++ contractions. Without prompting (he's nothing to do with the OU!) his reasons are:
1. They do nothing for optimisation in these days of good optimising compilers.
2. The can severely reduce readability and maintainability; this last is his chief concern as well over 50% of their work is maintaining old code (and some of the other 50% is working out how to hook in enhancements requested by users).
3. With some libraries, they can severely damage the code semantics.
The moral is: don't use ++ (pre or post), +=, -=, or any of the other <something>= contractions. Don't use "zero means false, non-zero means true"; if something is a boolean, use bool; don't use statements in conditional statements; don't use the fact (C/C++ peculiarity) that assignment statements have a value; use while when you mean a while loop and for when it really is a for loop;
if (...) break;
is a total no-no; etc., etc.
Rant over (for now).
I'm not experienced enough to comment, but does ++ and += really obfuscate code that much?