Vlákno názorů k článku
Mezery nebo tabulátory? Jasně že mezery, ale kolik? od Petr H. - Asi se na tom nikdy nedokážeme shodnout, takže...

  • Článek je starý, nové názory již nelze přidávat.
  • 14. 9. 2018 16:41

    Petr H. (neregistrovaný)

    Asi se na tom nikdy nedokážeme shodnout, takže bychom měli sáhnout po kompromisu.

    Používejme 4 TABy a všichni budeme šťastní :)

  • 15. 9. 2018 20:37

    Miloslav Ponkrác (neregistrovaný)

    Kompromis je jednoduchý. Nastavte editor, aby taby zaměňoval za mezery a vyhovíte oběma skupinám. Ta, která chce odsazovat tabulátorem, bude odsazovat tabulátorem. A ve zdrojáku budou jenom mezery.

  • 16. 9. 2018 16:46

    JSH (neregistrovaný)

    Tohle není kompromis. To je totální ignorace tabů. Věškerá výhoda tabů se tímhle ztratí.

  • 16. 9. 2018 17:35

    Miloslav Ponkrác (neregistrovaný)

    Hlavně se tím ztratí všechny četné nevýhody tabulátorů.

  • 16. 9. 2018 19:04

    JSH (neregistrovaný)

    To je tak nějak samozřejmé. Všechno má výhody a nevýhody. Jestli výhody tabulátorů převyšují jejich nevýhody je IMO závislé na lidech a mnoha dalších okolnostech.
    Chtěl jsem vypíchnout, že otázka, jestli tabulátory používat nebo ne, je natolik binární, že v ní asi žádný kompromis není možný. Je možné jenom zvolit možnost, která v dané situaci vypadá vhodnější.

  • 17. 9. 2018 5:44

    Miloslav Ponkrác (neregistrovaný)

    Jakto, že kompromis není možný?

    1) Tabulátor samozřejmě používat, a to pro typografickou sazbu. Např. pro sazbu tabulek, apod.

    2) V plain textu zdrojového kódu nemá tabulátor co dělat. Kromě makefilu, kde je to bohužel dané historicky. Vzhledem k tomu, že neproporcionální písmo je automaticky sloupcově zarovnáváno, tak tam tabulátor nemá co dělat.

    Nikdy jsem nepochopil, proč někdo blbne s tabulátory ve zdrojovém kódu. Navíc tabulátorů je několik (horizontální, vertikální, ...). Kromě toho lze kontrolními kódy třeba označovat desítky dalších věcí, třeba bych nasměroval na znaky 0x1C až 0x1F, které jsou přímo předurčeny stát se oddělovači mnoha věcí ve zdrojovém kódu. Proč to zastánci tabulátorů nepoužívají všechno a zbytečně se ochuzují?


    A) Chápu, že kdysi se šetřilo každým bitíkem, a tak kombinace tabulátory + mezery dokázaly ušetřit pár bajtíků. Tehdy to mělo význam. Dnes je tento argument zcela pasé.

    B) Argument, že si pomocí tabulátorů může v editoru nastavit jeho šířku - je argument někoho, kdo zamrzl v pravěku. Dnes si přeformátuji zdrojový kód asi stovkou nástrojů a editorů jak chci i bez tabulátorů. A odsazení je to poslední, co bych řešil. Daleko důležitější je X dalších věcí v code style, které jsou schopny čitelnost zhoršit mnohem více.

  • 17. 9. 2018 10:54

    JSH (neregistrovaný)

    > Jakto, že kompromis není možný?
    > V plain textu zdrojového kódu nemá tabulátor co dělat.
    Celou dobu se tu bavíme o zdrojovém kódu. Nazývat kompromisem to, že se zdroják formátuje mezerama a taby se přece můžou používat někde jinde hraničí s výsměchem. Nemám problém s tím, že se zvolí jedna možnost. Mám problém nazývat kompromisem něco, co naprosto překroutí a vykuchá pozici jedné strany.

    > Nikdy jsem nepochopil, proč někdo blbne s tabulátory ve zdrojovém kódu.
    Ze stejného důvodu, proč někdo blbne třeba se styly ve Wordu. Je to posun k abstraktnější sémantice od konkrétního formátování.

    > Proč to zastánci tabulátorů nepoužívají všechno a zbytečně se ochuzují?
    Třeba protože ty ostatní věci jim na rozdíl od tabulátorů nic moc užitečného nepřináší? Jinak to, co tady předvádíte zavání šikmou plochou. Opravdu to není přesvědčivý argument. Ale líp se to cupuje, že?

    Ad B)
    Na rozdíl od automatického přeformátování si změnou šířky tabu nerozbiju třeba diffy. Změna šířky tabu je fajn v tom, že si _identická_ data může víc lidí v teamu zobrazit trochu jinak. Tohle se dělá automatickým formátovačem fakt blbě.

    > A odsazení je to poslední, co bych řešil.
    > V plain textu zdrojového kódu nemá tabulátor co dělat. ... Nikdy jsem nepochopil, proč někdo blbne s tabulátory ve zdrojovém kódu.
    No evidentně to řešíte, pokud není po Vašem. ;)