abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

dnes 21:11 | Nová verze

Společnost Artifex Software vydala novou stabilní verzi 1.12.0 prohlížeče PDF, XPS a EPUB souborů, knihovny a řádkových nástrojů MuPDF (Wikipedie). MuPDF je k dispozici jak pod komerční, tak pod open source licencí GNU AGPLv3.

Ladislav Hagara | Komentářů: 0
dnes 12:55 | Nová verze

Byla vydána verze 1.8.0 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus. Nejnovější verze Lazarusu je postavena na Free Pascal Compileru (FPC) 3.0.4. Podrobnosti v poznámkách k vydání (Lazarus, Free Pascal Compiler).

Ladislav Hagara | Komentářů: 11
dnes 11:11 | Nová verze

Byla vydána verze 2.0 svobodného softwaru ScummVM (Wikipedie) umožňujícího bezproblémový běh mnoha klasických adventur na zařízeních, pro které nebyly nikdy určeny. Nejnovější verze ScummVM přináší podporu pro 23 zcela nových starých her. Podrobnosti v poznámkách k vydání.

Ladislav Hagara | Komentářů: 3
včera 16:11 | Komunita

Byly zveřejněny videozáznamy přednášek a workshopů z letošní konference OpenAlt konané 4. a 5. listopadu v Brně. K videozáznamům lze přistupovat ze stránky na SuperLectures nebo přes program konference, detaily o vybrané přednášce nebo workshopu a dále kliknutím na ikonku filmového pásu.

Ladislav Hagara | Komentářů: 7
včera 14:11 | Komunita

Některým uživatelům Firefoxu se tento týden do Firefoxu nainstalovalo neznámé rozšíření Looking Glass 1.0.3 (png). Ve fórů Mozilly se řešilo, zda se nejedná o malware. Mozilla později informovala, že se jednalo o reklamu na seriál Mr. Robot. Řadě uživatelů Firefoxu se jednání Mozilly vůbec nelíbilo. Mozilla proto automatickou instalaci doplňku ukončila [Hacker News, reddit].

Ladislav Hagara | Komentářů: 22
16.12. 12:00 | Nová verze

Po cca 3 týdnech od vydání Linux Mintu 18.3 s kódovým jménem Sylvia a prostředími MATE a Cinnamon byla oznámena také vydání s prostředími KDE a Xfce. Podrobnosti v poznámkách k vydání (KDE, Xfce) a v přehledech novinek s náhledy (KDE, Xfce). Linux Mint 18.3 je podporován do roku 2021.

Ladislav Hagara | Komentářů: 7
15.12. 12:55 | Nová verze

Byla vydána verze 17.12.0 KDE Aplikací (KDE Applications). Přehled novinek v kompletním seznamu změn a na stránce s dalšími informacemi. Aplikace, které nebyly dosud portovány na KDE Frameworks 5, byly z KDE Aplikací odstraněny.

Ladislav Hagara | Komentářů: 69
15.12. 03:00 | Komunita

Na Humble Bundle lze získat počítačovou hru Company of Heroes 2 (Wikipedie, YouTube) běžící také v Linuxu zdarma. Speciální akce končí v sobotu v 19:00.

Ladislav Hagara | Komentářů: 0
15.12. 02:00 | Zajímavý software

Christian Kellner představil na svém blogu projekt Bolt řešící bezpečnost rozhraní Thunderbolt 3 na Linuxu. Pomocí příkazu boltctl nebo rozšíření GNOME Shellu lze komunikovat s démonem boltd a například zakázat neznámá zařízení a předejít tak útokům typu Thunderstrike nebo DMA.

Ladislav Hagara | Komentářů: 10
15.12. 01:00 | Nová verze

Po půl roce vývoje od vydání verze 11.0 byla vydána verze 11.1 svobodného softwaru pro vytváření datových úložišť na síti FreeNAS (Wikipedie). Nejnovější FreeNAS je postaven na FreeBSD 11.1. Přehled novinek v příspěvku na blogu. Zdůraznit lze zvýšení výkonu OpenZFS, počáteční podporu Dockeru nebo synchronizaci s cloudovými službami Amazon S3 (Simple Storage Services), Backblaze B2 Cloud, Google Cloud a Microsoft Azure

Ladislav Hagara | Komentářů: 0
Jak se vás potenciálně dotkne trend odstraňování analogového audio konektoru typu 3,5mm jack z „chytrých telefonů“?
 (8%)
 (1%)
 (1%)
 (1%)
 (76%)
 (14%)
Celkem 1027 hlasů
 Komentářů: 45, poslední 1.12. 19:00
    Rozcestník
    Štítky: není přiřazen žádný štítek

    Vložit další komentář
    31.10.2012 12:19 chrono
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Napr. v HTML používam vždy len tabulátory; v C zvyčajne tiež tabulátory, v Python takmer vždy 4 medzery... :)
    31.10.2012 12:56 Franta
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    O tomhle byl nedávno flame na Rootu, takže jen stručně:
    1. Tabulátor nese sémantickou hodnotu (počet úrovní odsazení bloku), shluk mezer neříká nic – potřebujeme ještě někde bokem sdělit informaci „kolik mezer = jedno odsazení“.
    2. Tabulátory také umožňují, aby si to každý zobrazil, jak mu to vyhovuje – někdo potřebuje větší odsazení, někdo menší, tak si podle toho nastaví editor, ale v souboru je to uložené vždy stejně (jeden tabulátor). Já mám např. šířku tabulátoru 4.
    3. Míchání mezer a tabulátorů při odsazování je samozřejmě špatně, je potřeba dodržovat konvence daného týmu.
    4. Jiná věc je zarovnávání – když už* zarovnáváme, tak mezerami, protože účelem zarovnání není posunout text na X-tou úroveň, ale zarovnat se znaky nad/pod ním.
    Příklad:
    <objekt>
        <vlastnost-1    hodnota="hodnota 1"/>
        <vlastnost-123  hodnota="hodnota 123"/>
        <vlastnost-9999 hodnota="hodnota 9999"/>
    </objekt>
    Před <vlastnost… bude tabulátor a před hodnota="… budou mezery.

    *) osobně jsem spíš proti zarovnávání, protože při přidání nové (delší) položky je potřeba změnit všechny ostatní řádky a mj. to dělá bordel ve verzovacím systému.
    mirec avatar 31.10.2012 15:57 mirec | skóre: 31 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    +10, presne o tomto som asi pred 2 rokmi písal blog, ale nedopísal som ;) Veľmi dobre napísané. Škoda, že pythonisti sa dosť fanaticky držia medzier (pep 8).
    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    FrostyX avatar 31.10.2012 12:59 FrostyX | skóre: 27 | blog: Frostyho_blog | Olomouc / Jeseník
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Já se držím odsazování na začátku řádků pomocí tabů a použití mezer při zarovnávání. K zamyšlení doporučím TABs vs Spaces. The end of the debate
    FrostyX.cz | 1984 was not supposed to be an instruction manual.
    31.10.2012 13:28 Let_Me_Be | skóre: 20 | blog: cat /proc/idea/current | Brno
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    To ze mezery vypadaji vsude stejne je hlavni nevyhoda.
    Linked in profil - Můj web - Nemůžete vyhrát hádku s blbcem. Nejdřív vás stáhne na svoji úroveň a pak ubije zkušenostmi.
    Bystroushaak avatar 31.10.2012 14:09 Bystroushaak | skóre: 32 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Jak kde. Když se dívám na své kódy třeba na githubu, tak bych tam mezery uvítal, protože osmimístné taby to nehorázně roztahují do strany.
    31.10.2012 15:08 Franta
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    To je jeden řádek v CSS, ne? Lepší než přepisovat všechny zdrojáky :-)
    Bystroushaak avatar 31.10.2012 15:23 Bystroushaak | skóre: 32 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    To sice jo, ale vysvětlovat to githubákům se mi nechce :D
    Blbec z Horní Dolní avatar 31.10.2012 15:29 Blbec z Horní Dolní | blog: blbeczhornidolni
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    To je podobný argumnent jako "můj editor neumí nastavit šířku tabů, proto jsou taby špatný" :)
    Bystroushaak avatar 31.10.2012 16:24 Bystroushaak | skóre: 32 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    1.11.2012 19:35 Ivorne | blog: Ivorne
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    To možná, ale argument "každý editor má nastavené jinak taby, leckde to nejde nastavovat a pořád je v tom bordel" už se mi zdá dostatečný.

    To bys musel mít všechny systémy, se kterými pracuješ plně pod kontrolou (a musely by podporovat šířku tabelátoru), což normální člověk většinou nemá.

    Práce v editoru a v shellu. V editoru mám kvůli programování tab na šířce 4, v shellu je všude 8 a přenastavit to moc nejde, takže když pracuji v obou najednou, tak jsem v pytli.
    Josef Kufner avatar 1.11.2012 21:11 Josef Kufner | skóre: 67
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Ono někdo, kdo to s programováním myslí vážně, používá neschopný textový editor?
    Hello world ! Segmentation fault (core dumped)
    xkucf03 avatar 1.11.2012 21:21 xkucf03 | skóre: 46 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Ale kód (správně) odsazený tabulátory nemá žádný problém s tím, že si každý nastaví jinou šířku – naopak k tomu přímo vybízí a je to jedna z jeho výhod.

    Někde to bude třeba:
    if (a == 1) {
        System.out.println("a == 1");
        System.exit(0);
    } else if (a == 0) {
        System.out.println("a == 0");
        System.exit(1);
    }
    a jinde:
    if (a == 1) {
            System.out.println("a == 1");
            System.exit(0);
    } else if (a == 0) {
            System.out.println("a == 0");
            System.exit(1);
    }
    a formátování se nerozbije, jen se přizpůsobí nastavení daného uživatele.
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
    2.11.2012 11:48 Ondrej 'SanTiago' Zajicek
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Rozbije, pokud se tabulatory pouzivaji krome odsazovani bloku i na dalsi odsazeni dodatecneho textu na radce (napr. komentare k radku). A IMHO to je misto, kde je tabulator daleko dulezitejsi nez na odsazeni bloku - spravne odsazeni bloku je mozne bez potizi udrzovat automaticky editorem bez ohledu na to, zda se pouzivaji mezery ci tabulatory, zatimco spravne odsazeni dodatecneho textu na radce asi rozumne udrzovat nejde jinak nez s pouzitim tabulatoru.
    pavlix avatar 2.11.2012 14:38 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    spravne odsazeni dodatecneho textu na radce asi rozumne udrzovat nejde jinak nez s pouzitim tabulatoru.
    Vzhledem k tomu, že to nejde ani s použitím tabu, tak je to dost irelevantní.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    2.11.2012 16:04 Ondrej 'SanTiago' Zajicek
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    S pouzitim tabu je udrzovani takoveho odsazeni podstatne mene narocna.
    pavlix avatar 2.11.2012 21:42 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Nevím, zda „podstatně méně náročné“ je to správné vyjádření pro „pořád to nestojí za nic“.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    31.10.2012 13:45 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Dvě mezery v C a C++, čtyři v shellu, tabulátor jen tam, kde to vyžaduje coding style - takže poslední dobou většinou tabulátor. :-(
    31.10.2012 13:57 Franta
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Proč :-(? K čemu jsou dobré mezery?
    31.10.2012 14:13 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Už jsem se zúčastnil příliš mnoha diskusí na toto téma, abych si myslel, že další flame něčemu prospěje. Argumenty obou stran už byly prezentovány tolikrát, že nemá smysl plýtvat časem i prostorem na další přehrávání stále stejné diskuse.
    Bystroushaak avatar 31.10.2012 14:08 Bystroushaak | skóre: 32 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Dlouhou dobu jsem používal mezery, ale pak jsem se během jedné diskuze na IRC nechal přesvědčit k tabulátorům. Přijde mi to čistější.
    bambas avatar 31.10.2012 14:17 bambas | skóre: 20 | blog: bambasovo
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    odsazeni TAB, zarovnani 2-4 mezery :)
    31.10.2012 16:15 Sten
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    +0,75. Odsazení TAB, zarovnání TAB podle odsazení + tolik mezer, na kolik to vyjde :-)
    class MyClass
    ⇥: public MyOtherClass
    {
    public:
    ⇥MyClass()
    ⇥⇥: field(0)
    ⇥{}
    
    ⇥~MyClass();
    
    ⇥MyClass& setField(int value,
    ⇥⍽⍽⍽⍽⍽⍽⍽⍽⍽⍽⍽⍽⍽⍽⍽⍽⍽⍽bool checkIfZero)
    ⇥{
    ⇥⇥if (checkIfZero && value == 0) {
    ⇥⇥⇥throw std::exception("FIeld is not zero");
    ⇥⇥}
    ⇥⇥this->field = value;
    ⇥}
    
    
    protected:
    ⇥int field;
    };
    
    31.10.2012 18:25 disorder | blog: weblog | Bratislava
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    toto je jedine spravne pouzivanie tabov. keby to dokazali vsetky editory...
    Blbec z Horní Dolní avatar 31.10.2012 15:20 Blbec z Horní Dolní | blog: blbeczhornidolni
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Samozřejmě taby, s výjimkou Clojure (protože to je Lisp a Lispy se musí zarovnávat mezerama, aby kód nevypadal hnusně).

    Taby, narozdíl od mezer nespojují "co to je" a "jak to vypadá". Podobně jako HTML a CSS. Zakódovat obarvení syntaxe přímo do zdrojáku taky není dobrý nápad.
    Blbec z Horní Dolní avatar 31.10.2012 15:21 Blbec z Horní Dolní | blog: blbeczhornidolni
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Btw, v Javě je doporučuji používat auto-formátování, ušetří to spoustu práce.
    31.10.2012 15:50 JS
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Musim rict, ze ackoli mam Common Lisp celkem rad, Lispovy zpusob zarovnavani mi dost vadi. Prijde mi, ze to odsazeni pak silene rychle narusta, a je to velmi neprehledne.
    Blbec z Horní Dolní avatar 31.10.2012 17:03 Blbec z Horní Dolní | blog: blbeczhornidolni
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Naprosto souhlasim, jenom pro ulozeni neceho do promenne se musi zanorit kod... a taky prefixova aritmetika neni uplne prehledna.

    Pod nejakym blogem jsi jednou napsal celkem dlouhy komentar, napad na programovaci jazyk (myslim ze neco s transformacemi dat). Nepamatujes si kde to bylo? Posledni dobou me tohle docela zajima :)
    31.10.2012 18:32 JS
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Zkousel jsem to najit, ale marne. Obavam se, ze to bylo v nejakem nelinuxovem blogu..
    Bystroushaak avatar 31.10.2012 18:42 Bystroushaak | skóre: 32 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Já se teď potloukám kolem Rebolu, což je místy podivný lisp-like jazyk s rozumnější syntaxí.
    Blbec z Horní Dolní avatar 1.11.2012 11:47 Blbec z Horní Dolní | blog: blbeczhornidolni
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Pro co to používáš (hraní / práce)?
    Bystroushaak avatar 1.11.2012 12:30 Bystroushaak | skóre: 32 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Zatím pro nic, teď se v tom snažím napsat script na zálohu přečtených článků. Je to docela zajímavá hračka, například parser konfiguráků (něco jako .ini) jsem napsal v backus-naurově formě, namísto abych to rozdělil na jednotlivé řádky a ty pak dále zpracovával:
    context[
    	conf-file-rule: [any[
    			newline     |
    			_comment    |
    			date-header |
    			purl
    		]
    		to end
    	]
    
    	white: [#"	" | #" "]
    	_comment: [#"#" to newline]
    	date-header: [
    		#"[" copy parsed-date to #"]" newline (parsed-date: to-date parsed-date)
    	]
    	purl: [
    		[ thru #"	" | thru #" "] copy parsed-url to newline
    		(
    			parsed-url: to-url trim to-string parsed-url
    			print rejoin [parsed-date " : " parsed-url]
    		)
    	]
    
    	parse/all d conf-file-rule
    ]
    
    To by mě dřív ani nenapadlo.

    Pořád jsem ale nepřišel na to, jestli má smysl se rebol učit, nebo ne :)
    Blbec z Horní Dolní avatar 1.11.2012 14:50 Blbec z Horní Dolní | blog: blbeczhornidolni
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Pokud to má přímo vestavěnou podporu pro BNF, tak to je zajímavá vlastnost, to se může občas hodit.

    Parsery se taky dobře píšou v jazycích založených na ML, kód vypadá podobně jako BNF, např. parser markdownu v OCaml.

    O Rebolu jsem jednou už tuším slyšel, měl jsem toho pocit, že to je jeden z jazyků, které mají několik originálních nápadů, ale v praxi má smysl je používat jenom na relativně malou skupinu problémů :)
    Bystroushaak avatar 1.11.2012 15:11 Bystroushaak | skóre: 32 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Pokud to má přímo vestavěnou podporu pro BNF, tak to je zajímavá vlastnost, to se může občas hodit.
    Jo, parse.
    O Rebolu jsem jednou už tuším slyšel, měl jsem toho pocit, že to je jeden z jazyků, které mají několik originálních nápadů, ale v praxi má smysl je používat jenom na relativně malou skupinu problémů :)
    No, já už o něm přečetl pár desítek článků a pár knih a pořád nevím, jestli jo, nebo ne :)
    31.10.2012 18:23 disorder | blog: weblog | Bratislava
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    bezne sa pouziva dvojznakove odsadenie: 5 urovni = 10 znakov. lisp ta aspon nauci rozdelit si veci do roznych funkcii, ked uz to nedokazali ine jazyky.
    31.10.2012 19:30 JS
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Tak to delam taky. :-) Coz o to, delit veci do funkci bych se potreboval naucit (ja mam v podstate tendenci tvorit novou funkci jen v pripade, ze ji volam z vice mist, coz neni idealni).

    Ale i tak je to problem, a nejhorsi je to prave na tech operatorech, jak zminuje BzHD vyse. Aritmeticky vyraz pak vypada jako rozsypany caj. Ale ono staci napsat let, if, progn a jste hned v pulce stranky.
    31.10.2012 18:20 disorder | blog: weblog | Bratislava
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    ale musis mat pre cely projekt striktne nefinovane ako ma tab vyzerat, lebo pride blbec z horni dolni a zacne mi to pretekat za okraj...
    31.10.2012 18:21 disorder | blog: weblog | Bratislava
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    s/nefinovane/definovane/

    ja uz dnes nic nenapisem bez preklepu...
    31.10.2012 16:29 Jan
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Tabulátor mám stále rád, hlavně v asembleru, protože tam si to píšu všechno sám od začátku, takže je to aspoň konzistentní :)
    31.10.2012 18:17 disorder | blog: weblog | Bratislava
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    presiel som na ciste medzery a zacinam mat rad python kvoli whitespacu. nie pretoze to je dobre riesenie, ale pretoze exituju ostatni ludia s prijebanymi editormi.
    31.10.2012 18:17 disorder | blog: weblog | Bratislava
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    s/exituju/existuju/
    mirec avatar 31.10.2012 18:42 mirec | skóre: 31 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    V súčasnosti je až neuveriteľné ako niektoré editory dokážu robiť bordel v kóde. U x-ročných vykopávok ako emacs / vim nie je problém nakonfigurovať zobrazovanie tabov, zvýraznenie zlého mixovania tabov a medzier ... Ale komerčné produkty, v ktorých robia kolegovia ... to je jedna veľká katastrofa.
    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    31.10.2012 20:27 extremni lama | skóre: 14 | blog: e_lama
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Kdyz uz se tady diskutuje odsazeni tak bych mel dotaz na pribuzny tema: Jakym zpusobem formatujete switch v c/c++ pokud se v nem deklaruje promenna a je potreba cely case dat do {}?

    Nejak se me nedari prijit na zpusob jak to nejak inteligentne naformatovat aby to vypadalo dobre i pri zmene velikosti tabu.

    Jinak switch formatuju takhle:
    >-------switch(x) {
    >-------case 1:
    >------->-------q();
    >------->-------...
    >-------case 2:
    >------->-------x
    >------->-------y
    >------->-------...
    >-------}
    
    V podstate me napadaji 2 reseni, ktere ale obe zbytecne pridavaji uroven zanoreni:

    1:
    >-------switch(x) {
    >------->-------case 1: {
    >------->------->-------int a;
    >------->------->-------qwe
    >------->-------}
    >------->-------case 2:
    >------->------->-------x
    >------->------->-------y
    >------->------->-------...
    >-------}
    
    >-------switch(x) {
    >-------case 1:
    >------->-------{
    >------->------->-------int a;
    >------->------->-------qwe
    >------->-------}
    >-------case 2:
    >------->-------x
    >------->-------y
    >------->-------...
    >-------}
    
    The enemy of my enemy is still my enemy.
    31.10.2012 20:50 alobalista
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Varianta cislo 1.
    pavlix avatar 31.10.2012 23:18 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Určitě druhá možnost, protože je konzistentní s tvým stylem. Chovej se k tomu, jako kdybys vytvářel blok uvnitř bloku a žádné case tam nebyly.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    Bedňa avatar 1.11.2012 00:35 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    +1
    Pokecajte si s umelou stupiditou na http://www.kernelultras.org/
    1.11.2012 00:24 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Ani jedna možnost.
    xkucf03 avatar 1.11.2012 00:33 xkucf03 | skóre: 46 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Líbí se mi první. U druhého nechápu, proč dáváš { } na nové řádky, když to jinak neděláš – IMHO zbytečnost. A naopak neodsazení case 1: a case 2: mi tam chybí. A odsazovat o 8 mi přijde moc – zkus nastavit šířku tabulátoru na 4 a nebude to tak „hluboké“.
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
    1.11.2012 01:25 extremni lama | skóre: 14 | blog: e_lama
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    jsem zvykly na 8. Hlavne pri delsi praci se me to lip cte.

    A obecne obvykle neodsazuju labely. Myslim ze tim ze se neodsadi dosahnu toho ze vycnivaji aniz bych pridal dalsi level zanoreni.

    Zrovna tak jako u switche je neodsazuju ani u trid:
    class xyz {
    public:
    >-------...
    };
    
    nebo goto:
    int process() {
    >-------...
    error:
    >-------...
    }
    
    Pokud jde o { na vlastnim radku, tak premyslel jsem i nad timhle:
    >-------switch(x) {
    >-------case 1: {
    >------->------->-------int a;
    >------->------->-------qwe
    >------->-------}
    
    to je pokud jde o { konzistentejsi, ale zase radek s } neni odsazeny stejne jako radek s { takze je to taky mirne nekonzistentni.

    Taky jsem premyslel nad timhle, ale to by nemuselo vypadat dobre pri hodne kratkym tabulatoru:
    >-------switch(x) {
    >-------case 1: {
    >--------------int a;
    >--------------qwe
    >-------  }
    
    Zatim nejvic inklinuju k puvodni moznosti c 2. Musim se uz konecne rozhodnout a delat tohle konzistentne. Momentalne to mam pokazdy jinak jak se furt nemuzu rozhodnout :-) Ale ne ze by tech switchu psal nejak moc...
    The enemy of my enemy is still my enemy.
    pavlix avatar 1.11.2012 10:50 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Líbí se mi první. U druhého nechápu, proč dáváš { } na nové řádky, když to jinak neděláš – IMHO zbytečnost.
    Podle mě } na nový řádek dává za všech okolností a { spojuje pouze s řídící konstrukcí, na kterou se vážou (i z hlediska jazyka).
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    1.11.2012 10:53 Franta
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Tohle:
    >-------switch(x) {
    a tohle:
    >-------case 1:
    >------->-------{
    mi nepřijde konsistentní.
    1.11.2012 11:25 extremni lama | skóre: 14 | blog: e_lama
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    to je pravda, ale kdybych chtel byt maximalne konzistentni tak bych to musel psat takhle:
    >-------switch(x) {
    >-------case 1: {
    >------->-------x...
    >-------}
    >-------}
    
    tzn. prvni } by bylo odsazene stejne jako case. Proto me prijde lepsi byt trochu nekonzistentni a { dat na vlastni radek.
    The enemy of my enemy is still my enemy.
    pavlix avatar 1.11.2012 11:32 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    To není vůbec konzistentní, natož maximálně.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    pavlix avatar 1.11.2012 11:36 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Chybně očekáváš, že se labely a řídící příkazy budou zapisovat stejně. Děláš to tak i mimo switch? Ta složená závorka je na samostatném řádku, protože je samostatná a z hlediska jazyka se neváže na žádný řídící příkaz a už vůbec ne na ten case.

    Jasně, můžeš předstírat, že ano, po vzoru „pascalista píše v každém jazyce pascal“, ale pak jdeš zcela proti významu těch céčkovských konstrukcí.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    1.11.2012 12:00 Franta
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Chybně očekáváš, že se labely a řídící příkazy budou zapisovat stejně.
    Nemyslím, že je to chybný předpoklad, spíš logický.

    Ano, v kódu si můžu udělat blok { } jen tak, třeba abych omezil rozsah proměnných nebo si nějak „označil“ nějaké místo* a pak tu { nepřidávám na konec předešlého řádku, protože tam žádný takový není a i kdyby byl, nedávalo by to smysl. Ale když je to uvnitř switche, smysl to dává – logický význam a to, co tím kódem chce člověk říct, je podobné jako u IFu, proto by se to mělo i stejně odsazovat.

    Příklad:
    if (a == 1) {
    	…
    }
    obdobně:
    switch(a) {
    case 1: {
    	…
    }
    *) moc se to nepoužívá a lepší bude ten blok vyčlenit do samostatné metody/funkce/procedury
    pavlix avatar 1.11.2012 13:39 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Nemyslím, že je to chybný předpoklad, spíš logický.
    Typicky se labely zapisují takto:
    ... hlavička funkce ...
    {
        ...
        goto konec;
        ...
    konec:
        ...
    }
    
    A bloky vložené do jiných bloků tuším typicky takto:
    {
        ...
        {
            ...
        }
        ...
    }
    
    Ale samozřejmě máš možnost to psát zcela libovolně narozdíl od Python apod.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    1.11.2012 14:50 Franta
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Neřešíme, co je typické (např. pro mne je to { na stejném řádku jako if, else atd.), ale co je konsistentní se zbytkem toho stylu.
    pavlix avatar 1.11.2012 23:57 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Ty řešíš, co je konzistentní vůči tvému (špatnému) vnímání konstrukce v jazyce C. Já řeším, co je konzistentní vůči skutečným prvkům jazyka C. Tvé vnímání konstrukce označuju za špatné z toho důvodu, že nefunguje tak, jak naznačuješ, tedy case nefunguje jako if, ale zcela odlišně.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    2.11.2012 11:58 Ondrej 'SanTiago' Zajicek
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Presne tak. V syntaktickem strome je if 'nad' prikazem/blokem, zatimco case je 'vedle' prikazu/bloku.

    Dobre to je videt treba v pripade, kdy mezi case a blokem bude jeste nekolik prikazu:
    switch(a) {
    case 1:
        x++;
        y++;
        {
            int i;
            ...
        }
        z++;
        ...
    }
    
    Kdyz z takoveho kodu ty prvni dva prikazy eliminuju, je konzistentni zachovat stejne odsazeni bloku:
    switch(a) {
    case 1:
        {
            int i;
            ...
        }
        z++;
        ...
    }
    
    2.11.2012 13:40 Franta
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Viz #70: „logický význam a to, co tím kódem chce člověk říct, je podobné jako u IFu“.

    (tím nepopírám, že teoreticky můžu nad ten blok {} dát další příkazy)
    pavlix avatar 2.11.2012 14:41 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Což jen potvrzuje, to, co jsem říkal. Ty vtiskáváš do odsazení své nepřesné vnímání fukce prvků jazyka. Já ti to nijak nevyčítám, to samé jsem dělal, když jsem byl nucen psát v Pascalu. Nicméně jako céčkař se snažím v céčku spíše držet skutečného významu jazykových prvků a ne nějaké zjednodušující interpretace.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    2.11.2012 17:33 Franta
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Zatím jsem to nikdy nepotřeboval, ale napsal bych to takhle:
    int a = 0;
    
    switch (a) {
    	case 0: {
    		System.out.println("0");
    	}
    	break;
    	case 1: {
    		System.out.println("1");
    	}
    	break;
    	default: {
    		System.err.println("chyba");
    	}
    }
    Dokonce jsem i zjistil, že tohle je výchozí (automatické) formátování v Netbeans :-)

    Případně bych dal ještě:
    } break;
    Asi nemá cenu zbytečně sklouzávat k osobním útokům…
    Ty vtiskáváš do odsazení své nepřesné vnímání fukce prvků jazyka.
    Proč by to tak mělo být? Konvence pro psaní kódu jsou z významné části věcí estetiky a osobního vkusu (proto se o nich také vedou nekonečné flamewary). Kdybych chtěl být ošklivý, tak řeknu, že ty zase podléháš iluzi, že odsazování by mělo být odvozeno čistě z technické specifikace jazyka bez ohledu na lidi, kteří ten kód píší a čtou.
    pavlix avatar 2.11.2012 21:53 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Zatím jsem to nikdy nepotřeboval, ale napsal bych to takhle:
    Já ne, už jen proto, že nemám ve zvyku přidávat hromadu složených závorek jen tak pro okrasu.
    Asi nemá cenu zbytečně sklouzávat k osobním útokům…
    Nevím, jak jsi na to přišel, ale doufám, že se toho budeš držet :).
    Proč by to tak mělo být?
    Těkžo se mi vysvětluje věc, která mi připadá tak jednoduchá a samozřejmá. Měl jsem za to, že se shodujem v tom, že ti nevyhovuje sémantika céčkovského switche a omezuješ ji na určitou podmnožinu (zjednodušuješ) a takto zjednodušeně ji vnímáš. A toto vnímání vtiskáváš i do formátování.

    Když mi pomůžeš specifikovat, co je na tom nejasné, tak zkusím nějak reagovat.
    Kdybych chtěl být ošklivý, tak řeknu, že ty zase podléháš iluzi
    Ano, to už zní ošklivě. Máš důvod být ošklivý?
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    31.10.2012 20:59 alobalista
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    BTW nevi nekdo proc jsou zdrojaky standardni knihovny Javy tak silene indentovane? Skoro vsude se mixujou TABy s mezerama. A skoro mi prislo, jakoby to byla vlastnost nejakeho jejich editoru v kterem to psali, nez vysledek prace vice lidi s jinym stylem.
    Dreit avatar 31.10.2012 21:48 Dreit | skóre: 15 | blog: Dreit a jeho dračí postřehy | Královehradecký kraj
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch

    Netbeans? Bouchnu tabulátor, udělá se tabulátor. Dám backspace a maže to po jednom znaku místo celýho tabulátoru :-(

    Nope
    xkucf03 avatar 31.10.2012 22:00 xkucf03 | skóre: 46 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Nemáš tam nastavenou emulaci tabulátorů pomocí mezer? To by totiž odpovídalo.
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
    Dreit avatar 1.11.2012 15:43 Dreit | skóre: 15 | blog: Dreit a jeho dračí postřehy | Královehradecký kraj
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch

    Pokusim se to najít, myslel jsem že je to hardcoded feature :-D

    Rozhodně někdo smazal konfiguraci, takže to má celej ČVUT zase v defaultu :-(

    Nope
    xkucf03 avatar 1.11.2012 21:31 xkucf03 | skóre: 46 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Příloha:
    Viz příloha: Expand Tabs to Spaces. Mám za to, že ve výchozím nastavení je to odškrtnuté.
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
    1.11.2012 00:31 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Protože to byl běžný styl před 20 lety.

    Možná to nevíte, ale na mnoha počítačích byly hard disky, které měly velikost několika megabajtů.

    Ušetřit poměrně značnou velikost tím, že nahradíte sérii mezer tabulátory tam, kde vizuálně bude stejný výsledek je velká úspora. Řada editorů to dělala automaticky nebo to umožňovala navolit.

    Já jsem to dělal v minulosti taky tak.

    Při ukládání na 360 KB disketu bylo každé šetření místem žádoucí.

    Moje první programy v C jsem psal (pokud vynechám sálové stroje a různé bezdiskové minimašiny předtím) na PP06, který neměl hardisk, ale pouze dvě 360 KB disketové šachty. První disketa = editor + kompilátor C + knihovny + linker. Druhá disketa = zbývající knihovny co se nevěšly na první + moje zdrojáky + místo na ukládání meziproduktů kompilace + místo na výslednou binárku.

    Věřte mi, že komprese pomocí tabelátorů + mezer byla docela vítaná.

    1.11.2012 10:22 alobalista
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Nechapu, prece kdyz budu chtit usetrit, tak budu pouzivat jen a pouze TABy. Kombinovanim s mezerama pocet bajtu bude vetsi ne?
    pavlix avatar 1.11.2012 10:56 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Tam jde o to, že to navrhoval někdo naprosto bez představivosti nebo hodně unavený v době, kdy to vymýšlel. Vychází to jako logický důsledek tří axiomů.

    1) Odsazování se dělá o čtyři mezery

    2) Taby na začátku řádku mají vždy 8 mezer

    3) Potřebujeme co nejméně znaků

    Z toho ti totiž vyjde, že odsazení je půl tabu a tudíž je nutné ho tvořit mezerami (1,2), zatímco dvě odsazení už jsou celý tab a je potřeba je realizovat tabem (3). Pochopitelně tři odsazení vyžadují jeden tab a čtyři mezery.

    To je tak, když tyhle věci vymýšlí lidé, kteří měří na palce a stopy, a pak to má používat někdo, kdo je zvyklí na konzistentnější systémy.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    1.11.2012 14:06 alobalista
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    No to teda koukam. Diky za vysvetleni :-).
    pavlix avatar 1.11.2012 14:10 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    :D
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    1.11.2012 14:35 paranoik
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Tohle mě taky štve. Mě to připadá jakoby generátor tříd používal 4 mezery a většina vývojářů tabulátor. Když si nastavíš tabulátor na velikost 8 mezer tak je většina věcí formátovaná správně i když nelogicky (např. odsazení kódu metody je 1 tabulátor, její deklarace 4 mezery).
    31.10.2012 22:56 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Vždy jsem používal pouze mezery a dodnes nevidím jedinou výhodu tabelátorů.

    Řídím se heslem, že tabelátory nemají ve zdrojových kódech co dělat. Pokud se objeví v cizím kódu, zkonvertuji je na mezery.

    Tabelátory dokonce ani nenesou sémantickou hodnotu, protože v běžných programovacích jazycích jsou pravidla odsazování tak jednoduchá, že přeformátovat zdroják tak jak mi to vyhovuje zvládne velmi jednoduchý prográmek automaticky i bez toho, aby se programátor s nějakými tabelátory patlal.

    Lidi stejně tabelátory sázejí chybně už jen z titulu, že je nevidí.

    Jinak řečeno, tabelátory v běžných zdrojácích považuji za ptákovinu, protože nemají kromě žádnou funkci. To co se uvádí jako jejich výhoda se snadno zajistí i bez nich, jako je přeformátování na jiné odsazení, apod.

    Když se dívám do cizích zdrojáků, velikost odsazení je poslední co mi vadí. Daleko více mi vadí různé formátování složených závorek, nebo jiný počítků/konců bloku. Způsob formátování cyklů, hlaviček funkcí, atd. – a v tom tabelátory nepomůžou.

    Tam, kde tabelátory mají informaci pak je nebezpečné odsazovat vždy tabelátory, např. v makefile, v datových souborech s políčky oddělenými tabelátory, apod. Zde mají tabelátory skutečnou sémantickou hodnotu, protože na rozdíl od zdrojových kódů přidávají informaci, kterou nelze vydedukovat.

    Jinak řečeno, vidím u odsazování tabelátory pouze nevýhody. Přeformátovat odsazení cizího zdrojáku jde i při odsazování mezerami. Navíc dochází k interferenci v textových souborech, kde tabelátory mají nějakou užitečnou funkci – zejména datové souory jsou v posledních letech dodávány výhradně s tabelátorem jako oddělovačem údajů.
    xkucf03 avatar 1.11.2012 00:48 xkucf03 | skóre: 46 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Přeformátovat odsazení cizího zdrojáku jde i při odsazování mezerami.
    Jenže to znamená zásah do souboru, změnu prakticky všech řádků…˙Šířka tabulátorů je oproti tomu čistě věc zobrazení a nemusím do souboru nijak zasahovat. Někdo odsazuje o 2, normální lidi o 4, extrémista i o 8… každému vyhovuje něco jiného (liší se i podle jazyka). S tabulátory si to každý nastaví podle svého a přitom můžou všichni editovat ten samý soubor.

    Když na to špatně uvidím, zvýším si šířku tabulátoru, udělám potřebné změny a odešlu je (měním jen některé řádky). Ale když dostanu po někom zdroják s odsazením o 2 mezery a bude se mi to špatně číst (záleží na jazyku, někde je to OK), tak to budu muset nějak přetrpět nebo to přeformátovat, ale pak budou v nové verzi změněné všechny řádky, což dělá jednak bordel ve verzovacím systému a jednak tím budu otravovat ty, kterým odsazení o 2 mezery vyhovovalo. Totéž platí pro 8 nebo 3 (i takoví exoti se najdou).
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
    1.11.2012 01:05 extremni lama | skóre: 14 | blog: e_lama
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    presne to me napadlo. To musi mit kolegove radost kdyz porovnavaji verze a nekdo si jen tak pro radost preformatoval cely soubor :-)
    The enemy of my enemy is still my enemy.
    1.11.2012 04:45 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Při práci v týmu dodržuji projektem zvolený coe stylu bez ohledu na to, co si o něm myslím.

    Kromě toho porovnávací nástroje, které nejsou s to se vyrovnat s náhradou tabelátorů za mezery neznám, okamžitě jdou do /dev/null, kromě spláchnutí do WC se na nic jiného nehodí.

    1.11.2012 10:32 Sten
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    A proto je vhodnější, když při sepisování toho coding style někdo myslel, než že jen vzal to, co se líbí jemu.

    Můžete nám prozradit, který používáte verzovací systém, jenž ignoruje změny tabulátorů na mezery?
    2.11.2012 14:11 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Aha, takže zase takové ty polopravdy a poloinformace.

    Pokud se objeví v cizím kódu, zkonvertuji je na mezery... ale jen pokud tomu nebrání coding style.

    Přeformátovat zdroják tak jak mi to vyhovuje zvládne velmi jednoduchý prográmek automaticky... ale lze to jen když to neodporuje coding style týmu, jinak mám smůlu a musím denně trpět u 8 mezerových odsazení. Ale přesto trvám na tom, že tabelátory nemají žádnou výhodu, i když by mě toho utrpení mohly ušetřit, ale ne, já si to nepřiznám a nepřiznám...
    1.11.2012 04:19 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Mám pocit, že zastánci tabulátorů dělají, že nerozumí co píši.

    Odsazení, podle toho, jestli mi vyhovuje odsazení o 2,4, 8, či jiný počet udělám bez ohledu na to, zda je odsazováno mezerami nebo tabulátory. Programovací jazyky jsou obvykle tak syntakticky jednoduché, že to udělá automat za programátora. Pokud není jiný důvod, proč odsazovat tabulátory, pak nemá používání tabulátorů pražádný význam a je k ničemu. Kromě toho, že se s tím programátor patlá a musí řešit něco, co řešit nemusí – tedy rozlišování tabelátorů a mezer. Tedy programátor odsazující tabelátory pracuje stylem „nevadí, že se víc nadřu bez jakéhokoli smyslu“.

    Jak si pak nastavíte to, že někdo používá odlišný code style? Někdo dává počíteční složenou závorku na stejný řádek jako příkaz podmínky a cyklu, jiný pod něho.

    Nebo ještě daleko více na čitelnost zdrojáků má vliv způsob vytváření názvů identifikátorů – jmen proměnných, podprogramů, modulů, atd.

    Při luštění cizích zdrojáků jste nuceni překousnout tolika věcí, že odsazování je to nejmenší.
    mirec avatar 1.11.2012 09:27 mirec | skóre: 31 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Příloha:
    Odsazení, podle toho, jestli mi vyhovuje odsazení o 2,4, 8, či jiný počet udělám bez ohledu na to, zda je odsazováno mezerami nebo tabulátory.

    To bude mať autor pôvodného kódu radosť, že mu niekto rozrýpal odsadzovanie aké jemu vyhovuje. Nehovoriac o následnom merge cez VCS, ktoré kvôli odsadeniu nebude fungovať, takže bude musieť mergovať ručne.

    Tedy programátor odsazující tabelátory pracuje stylem „nevadí, že se víc nadřu bez jakéhokoli smyslu“.

    Alebo nevadí mi, že pri zmenšení odsadenia musím 4x (alebo 2x, 3x, 8x, 6x ...) ťuknúť do backspace namiesto 1, že. Inak o zobrazovanie tabulátorov a medzier a ich správne mixovanie (taby na indent, medzery na zarovannie) by sa mal starať editor pokiaľ sa nemýlim (príloha).

    Při luštění cizích zdrojáků jste nuceni překousnout tolika věcí, že odsazování je to nejmenší

    Škoda, že neviem práve vyhrabať štúdiu, ktorá hovorí presný opak.

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    Bystroushaak avatar 1.11.2012 10:21 Bystroushaak | skóre: 32 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Alebo nevadí mi, že pri zmenšení odsadenia musím 4x (alebo 2x, 3x, 8x, 6x ...) ťuknúť do backspace namiesto 1, že.
    Většina editorů co jsem kdy v životě používal tohle implementuje pomocí shift+tab.
    pavlix avatar 1.11.2012 11:01 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Editor, který používám, zvládá i ten backpace.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    mirec avatar 1.11.2012 16:01 mirec | skóre: 31 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Ako kde, väčšinou sa u medzier stretávam s takým bordelom, že niekde je 1 medzera, 2, medzery, 3 medzery, 4 medzery ... takže nájdenie správneho odsadenia editor nedokáže ak nie je nastavený na pevný počet (ani to ešte nemusí byť správne).
    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    Bystroushaak avatar 1.11.2012 16:14 Bystroushaak | skóre: 32 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Neříkal jsem nic o autodetekci, musíš nastavit ručně v menu šířku odsazení. Výhoda je, že pak nemusíš mačkat několikrát backspace, navíc se to používá i na posouvání celých bloků (pythonisti určitě znají).
    pavlix avatar 2.11.2012 00:09 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Nejvtipnější jsou gnomácké zvyklosti psaní kódu, které kombinaci tabů a mezer vyžadují a jsem přesvědčen, že jestli existuje nějaký editor, který ten jejich styl umí správně, tak je pouze jeden na světě. Ale spíš si myslím, že to žádný editor nedává a programátor si musí hrát s mezerníkem na datla.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    6.11.2012 07:42 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Já mám dojem, že je to výchozí nastavení Emacsu.
    pavlix avatar 6.11.2012 10:08 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Jo :).

    jestli existuje nějaký editor, který ten jejich styl umí správně, tak je pouze jeden na světě.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    pavlix avatar 1.11.2012 11:00 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Škoda, že neviem práve vyhrabať štúdiu, ktorá hovorí presný opak.
    Tak si jí vycucej z prstu stejně jako kdokoli, kdo mohl takovou studii vyplodit (nejspíš, pokud to myslel vážně, tak se v ní píše úplně něco jiného, než n mezer odsazení je čitelných, zatímco m ne).
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    mirec avatar 1.11.2012 09:09 mirec | skóre: 31 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Díky za označenie exot. Ja považujem 2 medzery za málo čitateľné a 4 zase pri šírke zdrojáku okolo 580px príliš veľa. Preto preferujem taby, kde mám pekne nastavenú šírku na 3 znaky a nikoho neotravujem pomerne neštandardnými 3 medzerami.
    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    xkucf03 avatar 1.11.2012 21:41 xkucf03 | skóre: 46 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    :-) nemyslel jsem to nijak zle. Dvě jsou relativně málo, ale někdy se to celkem dá a i jsem si na to zvykl (Pascal). Liché číslo mi přijde takové divné a 4 jako akorát.
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
    1.11.2012 11:45 Let_Me_Be | skóre: 20 | blog: cat /proc/idea/current | Brno
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Jeste jsem nenasel program, ktery by umel korektne preformatovat C a C++ kod. Vsechny code-beautifiers na netrivialnim kodu selhavaji.
    Linked in profil - Můj web - Nemůžete vyhrát hádku s blbcem. Nejdřív vás stáhne na svoji úroveň a pak ubije zkušenostmi.
    pavlix avatar 31.10.2012 23:16 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Výhoda tabulátora je práve v tom, že na odsadzovanie textu bol navrhnutý a vie zarovnať stĺpce.
    Vážně umí zarovnat sloupce? V některém z běžně používaných editorů? A vážně byl navržen na odsazování kódu? Tomu moc nevěřím.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    Bedňa avatar 1.11.2012 00:43 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Tak som bol naučený, že je to sématickou značkou pre odsadenie textu a zarovnanie do stĺpcov, niečo podobné tvrdí aj Wikipédia. Teda aj editory s ktorými pracujem sa stavajú k vyjadreniu tabulátora rovnako, akurát z rozličným odsadením.
    Pokecajte si s umelou stupiditou na http://www.kernelultras.org/
    Bedňa avatar 1.11.2012 00:48 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Som neodpovedal na editor, tak napr. Netbeans a Eclipse. Je pravda že som si nastavenia robil sám, tak možno by default to tak nebolo, kto si to už pamätať :-)
    Pokecajte si s umelou stupiditou na http://www.kernelultras.org/
    Bedňa avatar 1.11.2012 00:52 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Aha som si tvoj koment prečítal ešte raz, nie na odsadenie kódu, ale textu.
    Pokecajte si s umelou stupiditou na http://www.kernelultras.org/
    1.11.2012 00:19 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Já bych to vylepšil. Já bych od levého okraje ve zdrojáku zarovnával tabulátorem (znakem U+9), mezi jednotlivými funkcemi či metodami bych vertikálně odděloval vertikálním tabulátorem (U+B). Čím by si každý mohl v editoru levé odsazení i odsazení mezi metodami navrhnout dle svého.

    Kromě toho bych nemazal ve zdrojáku při opravách opravdově, ale následoval bych znaky Backspace (U+8), takže bych ve skutečnosti nikdy nic nemazal. Pouze editor by to posuny kurzory přepsal, ale v souboru by to zůstalo. Mohl bych si tak v rámci editoru nahradit i VCS (správce verzí).

    Konec srandy.

    Zkrátka pořád nevidím jediný benefit používání tabulátorů. Kromě iracionálního zvyku bez rozumného argumentu.
    xkucf03 avatar 1.11.2012 00:40 xkucf03 | skóre: 46 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    A co mazání resp. snižování úrovně odsazení? Používáš na to backspace nebo nějakou zvláštní klávesovou zkratku a funkci prohlížeče? Já používám tabulátory tzn. tabulátorem zvyšuji odsazení a backspacem snižuji – nemusím ho mačkat 2×/4×/8×. (případně používám Alt+šipky pro zvýšení/snížení odsazení, což funguje i na více řádků a člověk nemusí být na jeho začátku).
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
    1.11.2012 04:21 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Normálně, já taky nemusím mačkat backspace 2×/4×/8×, a to používám mezery. Možná bych Ti měl sdělit, že když tu klávesu držíš, ona opakuje automaticky.

    Kromě toho rozumný editor má autoindent, který leccos zařídí sám jak při vytváření osazení, tak při jeho rušení.
    2.11.2012 14:17 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Medzery vs tabulátory po siedmich rokoch
    Benefit je právě v tom, že si to horizontální odsazení může každý nastavit. Alternativa v podobě "VCS pro odsazení" neexistuje, je to jediná možnost jak to dělat.

    Vertikální odsazení je zajímavá myšlenka, ale asi to nikdo nepotřebuje.

    Nemazání za účelem verzování? Na to už byl přece vynalezen ten VCS, tak proč funkci duplikovat či integrovat v editoru, když již existuje? Opakuji že pro odsazení žádné "VCS" neexistuje, takže se to řeší tabelátory. Benefit je zřejmý - možnost si to nastavit.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.