Both the author and the reviewer had passed C++ style certification. They knew why it was bad. They just got a little lazy and wanted to write their code in a way that felt familiar to them, and figured it was harmless. I got a bit grumpy at having to drop what I was doing right away to fix their mistake due to their laziness.
if so that's silly, as it is literally 2x the work to type.
if they also included some sort of state that had to be managed, then it starts to verge towards reasonable.
Yes, "OD" was definitely just "}". DO might have been ") {" to allow
while (a < b DO
...
ODThe real answer is to just do something like
} // while
to show that it's the end of the loop rather than the end of an if, and not play ridiculous games trying to hide the curly braces.True on a US keyboard, not true on many others.
I still find this kind of preprocessor abuse horrific; I’m just responding to your specific statement.
i once had a team lead in a quasi monorepo situation tell me straight up to copy-paste some functions i was interested in from their code. they made up some fishy story about deployments. was the story true? did they even know? did anyone know? who even owned it? would they even know?
or the guy who got up in arms because i touched his team's code and didn't write the unit tests that they didn't write when they originally wrote the code.
oh, monorepos.
Finding some perfect compromise for those groups would probably be a superpower for whichever org pulled it off, I agree.
When you go far away from the humanities, you lose some humanity.
researcher types often get to work on problems that swe types find interesting, so some swes get grumbly. researcher types also tend to write pretty horrific code which adds salt to the wounds.
but there also can be a sort of envy that emanates from the research side. many are fully aware of their shortcomings and are envious of the swes ability to get things done on computers cleanly.
it often seems that there can be yearning to wear each other's hats from the two groups. if i were running a company i think i'd try to break down that wall as it would probably make a lot of people happier.
of course, the right answer here isn't a meme... it's performance regression tests in the ci suite. and maybe a little training on why customizing a programming language with macros is bad.