Earlier quoted context omitted.
There are a number of agreed bad practises: long functions, deep nesting, obtuse identifiers, unrestricted use of gotos, global variables, no coding standard, premature optimisation, C macros, raw pointers...
False. Bryan Cantrill (OS developer who used to work at sun microsystems) talks about how the C macros are great [1]. John Carmack talks about how long functions can be better than short ones [2]. Every piece of advice that I've heard has had a contradiction coming from a preeminent developer. To be fair, yes, people do agree on bad practices. They are just often wrong. People agreeing that something is true doesn't…
Sure there are exceptions to most rules, but break them only if you know what you are doing and are able to justify doing so.