Já začínal kompletně bez odsazování. Pak jsem byl samozřejmě nucen kvůli kolegům používat to, na čem se zrovna na poradě shodli, pamatuji to jako takové vlny, první vlna 1 tab po osmi, druhá vlna max dva taby po čtyřech, pak se přešlo na 4 mezery a povolili odsazovat do aleluja, pak jim to zas přišlo blbý a omezili délku řádku a nyní se dohadují nad max 4 tabama po dvou.
No ale já mám výhodu, že to jde mimo mě. Dodnes se mi v odsazeném kódu hůř vyznává, v soukromých zdrojácích jedu bez odsazování.
Ať taby, tak mezery, líbí se mi na odsazování, že přílišné odsazení při udržování 80-120 znaků na řádek prostě donutí funkci/třídu rozdělit do menších podcelků a napomáhá tak snižovat komplexitu kódu.
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.