Tabs are literally designed for aligned indentation, and they're configurable for clientside viewing. There is no excuse for spaces. I don't care if your goddang function arguments line up once they spill out onto another line. You've got deeper problems.
Tabs are designed for tabulation (hence the name), not indentation. The side effect is that a tab's length changes based on its position in a line, which is terrible for programming. If you use tabs in the Python REPL, it looks like this:
>>>deffrobnicate_all(arr):>>>for item in arr:>>> frobnicate(item)
Tabs are better than spaces
Tabs are literally designed for aligned indentation, and they're configurable for clientside viewing. There is no excuse for spaces. I don't care if your goddang function arguments line up once they spill out onto another line. You've got deeper problems.
Tabs are designed for tabulation (hence the name), not indentation. The side effect is that a tab's length changes based on its position in a line, which is terrible for programming. If you use tabs in the Python REPL, it looks like this:
>>> def frobnicate_all(arr): >>> for item in arr: >>> frobnicate(item)
Tabs for indentation, spaces for alignment
I work in a massive project where they used both. Often in the same functions. Sometimes mixing 2 and 4 spaces aswell.
The real hot take: Spaces are better than tabs. Fight me
Tabs could be a good idea if their default size in most environments (and often not configurable) wasn't 8, which is terribly big.