Easy.  Tabs for scope, spaces for everything else - with the later kept to a minimum.  That eliminates the spaces per tab part of the discussion.

For example if a printf is nested in scope, all lines of the same scope should have the same number of tabs per line.  The continuation of text for printf arguments on a second line should have the same number of leading tabs as the printf - then spaces to align the second line where you want it.

There should never be any tabs past the initial run at the start of the line. No exceptions!

Anyone using spaces to align anything else in the code should be drug in front of a firing line and shot.  Anyone using ****** ###### /////// or any other runs of characters in code should be drug in front of a firing line and shot.

My $.02


On 2021-03-04 11:52, Will Senn wrote:

OK. So, I've been trying to decide (for the last time, I swear) whether to use tabs or spaces in my code... I did a quick pulse-check on the state of argument and it appears to be alive and well in 2021. My question for y'all is, was there a preference in the very early days or not? I saw an article talking about the 20 year feud, but that's not my recollection. In 1994, nobody agreed on this, but I'm sure it predates my entree into the field. I'm thinking the history of entab and detab are somehow related, but I've been wrong on these sorts of thoughts before. What say you?