no lepsi je to ve chvili, kdy to otevres v necem jinem.
kod s mezerami vypada kdekoliv stale stejne.
kod s tabulatory vypada v kazdem editoru jinak.
to je ten nejvetsi problem s tabulatory... nevim jestli je na sirku tabulatoru nejaka norma nebo neni, ale uz jsem se na to tolikrat nachytal ze naprosto rozumim tomu, kdo pouziva primarne mezery
Tabulator je jeden znak. Proto je to konzistentni. To jak se ti to zobrazuje je veci v cem se na to koukas (prave pro to jsem odkazoval na EditorConfig, ktery ma podporu ve vetsine editoru). A prave tady vidim nejvetsi prinos. S mezerama si musim pamatovat, ze ve stejnem projektu developeri HTML/JS radi pouzivaji 2 mezery, a developeri backendu (treba python) 4. Hlavne kdyz pak jeste clovek prejde na jinej projekt, kde je zase neco jineho, to uz je lahudka .)
Nevidite druhou stranu problemu. Ta je takova, ze mate jeden kod (napriklad nejaky skrip) a ten nasazujete teoreticky u stovky zakazniku na tisici pocitacich (ne na kazdy z nich - pouze poukazuju na pocet moznych variant). Editor ktery je u jednoho zákazníka povoleny je u jineho zakazany nebo neni nainstalovany atp...
Není mozne na tisicich pocitacu travit stovky hodin tim, ze nastavujete prostredi tak aby krasne zobrazovalo vase skripty. S mezerami proste zadny problem nemate. Jak jej vidite u sebe, tak je uvidite i u zakaznika. Bez toho abyste se museli otravovat tim, jestli to otevrete v notepadu, vs xml editoru, gvimu, pspadu, notepadu++, freecomanderu, totalcomanderu, netbeans, vs, eclipse atp...
Stale uvidite ten samy vysledek.
Uplne super pak je kdyz kazdy programator pouziva jinou konfiguraci tabulatoru a vzajemne si preukladaji soubory, vkladaji casti kodu atp... Co pak jeden vidi dokonale zarovnane ma jiny totalne rozsypane. Tyto problemy mezery zcela eliminuji.
To je zas argument jak z minulého století - kdysi dávno, to bylo ještě za války, existovaly editory, které možná neuměly správně zpracovat tabulátory...
Pokud musí někdo nastavovat editor, aby mu správně zobrazil jeho kód, tak je s tím kódem něco hodně špatně, bez ohledu na to, zda používá k odsazování mezery nebo tabulátory.
Je-li tabulátor používán jako znak pro odsazení, je úplně jedno, jak si kdo nastaví editor a jaké kdo má preference, kód vždycky uvidí korektně, vždycky jej odsadí korektně a je to zcela transparentní pro všechny v týmu, u zákazníka, v jakémkoli editoru.
Naopak, právě mezery vyžadují specifickou konfiguraci pro projekt a vedou k problémům při copy-paste mezi různými projekty.
Ta posledni veta je nejvetsi chujovina. Prave na to coding standards jsou - aby to v jednom projektu vypadalo jednotne bez ohledu na vyvojare. Je uplne jedno jestli je ten standard pro nekoho dobry nebo blby, podstatny je ten fakt, ze je to standard. Uplne to same je framework - neni podstatny ktery z nich je nejlepsi, je podstatny pouzivat nejaky protoze svym zpusobem definuje standardy.
Stejne vetsina mezeraru macka tabelator a IDE jim z toho dela mezery.