Já tyto války mezera/tabulátor nechápu. Je to nepodstatná věc.
To co si musíte vytvořit pro sebe je udržovatelný a čitelný code style. Tedy jak budete zapisovat každý objekt v jazyce, aby to bylo jednotné, čitelné, udržovatelné. Jakmile si ho časem - vědomě či nevědomě - dopilujete, pak nepotřebujete měnit odsazení, vyplyne to automaticky.
Pokud jste v týmu, tak code style zase je určen a vy se přizpůsobíte.
Já osobně jsem třeba došel k tomu, že řádka ve zdrojovém kódu je dlouhá 128 znaků. To dnes zobrazím všude, kde potřebuji - dokonce i na šířku papíru A4 po vytisknutí. Zároveň je to dostatečná šířka, abych proměnné pojmenovával didakticky a nemusel jména zkracovat aby se to vešlo na řádek. Šířka 128 znaků umožňuje zbytečně nezalamovat s menší čitelností.
Odsazuji 4 mezerami, v některém případě u mnoha zanoření (některé jazyky, datové zdroje typu strom) 2 mezerami.