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 12:22 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 20:00 | Komunita

    Byly zpracovány a na YouTube zveřejněny videozáznamy z konference LinuxDays 2025.

    Ladislav Hagara | Komentářů: 0
    4.10. 15:22 | IT novinky

    Na konferenci LinuxDays 2025 byl oficiálně představen nový router Turris Omnia NG.

    Ladislav Hagara | Komentářů: 25
    4.10. 05:22 | Komunita

    Přímý přenos (YouTube) z konference LinuxDays 2025, jež probíhá tento víkend v Praze v prostorách FIT ČVUT. Na programu je spousta zajímavých přednášek.

    Ladislav Hagara | Komentářů: 12
    3.10. 22:44 | IT novinky

    V únoru loňského roku Úřad pro ochranu osobních údajů pravomocně uložil společnosti Avast Software pokutu 351 mil. Kč za porušení GDPR. Městský soud v Praze tuto pokutu na úterním jednání zrušil. Potvrdil ale, že společnost Avast porušila zákon, když skrze svůj zdarma dostupný antivirový program sledovala, které weby jeho uživatelé navštěvují, a tyto informace předávala dceřiné společnosti Jumpshot. Úřad pro ochranu osobních údajů

    … více »
    Ladislav Hagara | Komentářů: 6
    3.10. 19:00 | Nová verze

    Google Chrome 141 byl prohlášen za stabilní. Nejnovější stabilní verze 141.0.7390.54 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 21 bezpečnostních chyb. Za nejvážnější z nich (Heap buffer overflow in WebGPU) bylo vyplaceno 25 000 dolarů. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    3.10. 17:11 | Upozornění

    eDoklady mají kvůli vysoké zátěži technické potíže. Ministerstvo vnitra doporučuje vzít si sebou klasický občanský průkaz nebo pas.

    Ladislav Hagara | Komentářů: 23
    3.10. 17:00 | Komunita

    Novým prezidentem Free Software Foundation (FSF) se stal Ian Kelling.

    Ladislav Hagara | Komentářů: 1
    3.10. 14:33 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za září (YouTube).

    Ladislav Hagara | Komentářů: 0
    3.10. 12:33 | Upozornění

    Vyšla kniha Počítačové programy a autorské právo. Podle internetových stránek nakladatelství je v knize "Významný prostor věnován otevřenému a svobodnému softwaru, jeho licencím, důsledkům jejich porušení a rizikům „nakažení“ proprietárního kódu režimem open source."

    javokajifeng | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (38%)
     (45%)
     (16%)
     (18%)
     (21%)
     (15%)
     (18%)
     (16%)
     (16%)
    Celkem 177 hlasů
     Komentářů: 12, poslední 4.10. 20:35
    Rozcestník

    Styl odsazování

    23.11.2005 15:34 | Přečteno: 1766× | Linux | poslední úprava: 24.11.2005 09:10

    Kdysi dávno jsem zde pokládal návrh na anketu Jaký používáte styl programování?. Bohužel buďto zapadla, anebo obsahovala odkaz na příslušnou stránku wikipedie (odkazy v anketě tuším ničily layout stránky). Buď jak buď, anketa se nekonala.

    Z již zmíněného dokumentu plyne, že se rozlišuje 5 hlavních stylů, přičemž poslední tři mi přijdou hodně obskurní :-). Jak jsem tak měl možnost vidět zdrojové kódy, tak převládá K&R a BSD styl odsazování, případně třetí varianta - náhodné odsazování.

    Já osobně nejraději používám právě prvně jmenovaný, protože mi BSD styl přijde moc rozvláčný. Zde je příklad za všechny (musel jsem trochu přeformátovat, ztratil se mi prázdný řádek).

    /*  create a new empty operand  */
    rpcData* newData(void) {
    
      rpcData* aux = (rpcData*) malloc(sizeof(rpcData));
      memset(aux, 0, sizeof(rpcData));
      aux->references = 1;
      return aux;
    }
    

           

    Hodnocení: 100 %

            špatnédobré        

    Anketa

    Jaký styl odsazování preferujete?
     (65 %)
     (21 %)
     (3 %)
     (7 %)
     (0 %)
     (1 %)
     (3 %)
    Celkem 116 hlasů

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

    Komentáře

    Vložit další komentář

    23.11.2005 15:43 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
    Rozbalit Rozbalit vše Re: Styl odsazování
    Tak jak je popsáno ve wikipedii K&R, s tím, že u funkcí je první složená závorka ještě na témže řádku.
    Copak toho není dost?
    23.11.2005 16:14 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
    Rozbalit Rozbalit vše Re: Styl odsazování
    Přesně tak :-).
    Josef Kufner avatar 23.11.2005 19:30 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Styl odsazování
    Ale pokud je podmínka nebo parametry moc dlouhé, tak otvírající složená závorka je na novém řádku.
    Hello world ! Segmentation fault (core dumped)
    23.11.2005 15:49 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Styl odsazování
    Můj styl má nejblíž ke K&R, jen u funkcí dávám otevírací složenou závorku na nový řádek (jako u BSD) a na rozdíl od většiny obvyklých stylů odsazuji case. Tj. asi takto:
      int foo(char* p)
      {
         int n = 0;
    
         while (*p) {
           switch(*p) {
             case '(':
               n++;
               break;
             case ')':
               n--;
               break;
           }
           p++;
         }
    
         return n;
      }
    
    23.11.2005 15:54 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Styl odsazování
    Tak case odsazuji taky, přijde mi zvláštní, že to nikdo nedělá.
    When your hammer is C++, everything begins to look like a thumb.
    Josef Kufner avatar 23.11.2005 19:31 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Styl odsazování
    Ale dělá :)
    Hello world ! Segmentation fault (core dumped)
    24.11.2005 20:46 Tomáš Bláha
    Rozbalit Rozbalit vše Re: Styl odsazování
    No já tedy casy neodsazuji, resp. nechavám je předsazené vůči bloku kódu, ve kterém jsou. V podstatě podobně, jako jsem vždy formátoval návěští v assembleru.
    .. avatar 23.11.2005 18:13 .. | skóre: 4 | blog:
    Rozbalit Rozbalit vše Re: Styl odsazování
    Taky hlasuju pro tenhle styl.
    23.11.2005 22:25 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: Styl odsazování
    Rovnako, iba odzasujem tabelatorom. V mcedit ho mam nastaveny na 4 znaky, v Kate na 6. Ked niekomu poslem zdrojaky moze si to nastavit ak ochce (a podla sirky monitoru) a nenutim ho pouzivat svoju sirku tabelatoru.

    Jedinu schizu ma pri odsadzovani else. Male veci odsadujem usporne:
    if ( ) {
        ...
    } else {
        ...
    }
    
    Pri velkych povazujem za vhodne patricne zdoraznit skoro prazdnym riadkom, kde ten if konci:
    if ( ) {
        ...
        ...
        ...
        ...
    }
    else {
        ...
        ...
        ...
        ...
    }
    
    If you hold a Unix shell up to your ear, you can you hear the C.
    Luboš Doležel (Doli) avatar 23.11.2005 15:49 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Styl odsazování
    Zásadně BSD; v kódu se pák lépe orientuju, když mám složené závorky vždy svisle pod sebou.
    23.11.2005 15:52 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
    Rozbalit Rozbalit vše Re: Styl odsazování
    Já se zase v tom závorkovém rejdišti okamžitě ztratím.
    Copak toho není dost?
    23.11.2005 15:55 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Styl odsazování
    A to je ta chvíle, kdy přichází na řadu % ;-)
    When your hammer is C++, everything begins to look like a thumb.
    24.11.2005 10:20 barney
    Rozbalit Rozbalit vše Re: Styl odsazování
    to je ta chvila, ked prichadza na rad highlighting zatvoriek v xemacse :-))
    stativ avatar 23.11.2005 16:12 stativ | skóre: 54 | blog: SlaNé roury
    Rozbalit Rozbalit vše Re: Styl odsazování
    jak se mi zrovna chce, jinak pouzivam zasadne BSD nebo GNU style (hlasoval jsem pro GNU aby melo taky nejaky procenta)
    Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
    23.11.2005 17:02 Non_E | skóre: 24 | blog: hic_sunt_leones | Pardubice
    Rozbalit Rozbalit vše Čím odsazujete
    Viz Subj., odsazujete tabelátorem nebo mezerami?
    Only Sith deals in absolutes.
    23.11.2005 17:34 jm
    Rozbalit Rozbalit vše Re: Čím odsazujete
    No, doufam ze se k tem mezeram v zajmu vlastniho zdravi nikdo neprihlasi... :-)
    23.11.2005 17:41 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Čím odsazujete
    Na to bych nespoléhal. Ne každý chce být po pár úrovních osazení na půlce stránky…
    Josef Kufner avatar 23.11.2005 19:34 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Čím odsazujete
    Pokud se po pár odsazeních tam dostanu, tak je ten program špatně navrený, nebo mám zbytečně velký tab.
    Hello world ! Segmentation fault (core dumped)
    23.11.2005 19:40 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Čím odsazujete
    Tabulátor je osm znaků. Používat cokoli jiného znamená koledovat si o problémy v okamžiku, kdy budete okolnostmi donucen použít jiný editor než ten, na který jste zvyklý (nebo třeba i jen stejný editor s jiným nastavením).
    24.11.2005 10:24 barney
    Rozbalit Rozbalit vše Re: Čím odsazujete
    :-)) nevraviac o pythone
    Josef Kufner avatar 24.11.2005 17:30 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Čím odsazujete
    /* vim:set ts=4 sw=4: */
    Hello world ! Segmentation fault (core dumped)
    24.11.2005 17:41 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
    Rozbalit Rozbalit vše Re: Čím odsazujete
    Hm, no a psát zdrojáky na počítači znamená koledovat si o problémy, když budete okolnostmi donuceni pracovat tam, kde žádný není, třeba :-) Nebo něco srovnatelné blbého.
    Copak toho není dost?
    24.11.2005 10:18 Bubak | skóre: 16 | blog: Čtvrtá cenová
    Rozbalit Rozbalit vše Re: Čím odsazujete
    Pouzivam tabulator a normalne ho mam nastaveny na tri znaky - vetsina editoru to umoznuje celkem jednoduse nastavit, takze nevidim problem. Stejne tak neni problem kdykoliv je nahradit za prislusny pocet mezer, je-li to potreba.
    ... máš jen mrtvou kočku a poškrábanýho jezevčíka ...
    23.11.2005 17:48 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
    Rozbalit Rozbalit vše Re: Čím odsazujete
    Já se k nim hlásím :-)
    24.11.2005 11:20 Pepin
    Rozbalit Rozbalit vše Re: Čím odsazujete
    Já taky
    24.11.2005 10:22 barney
    Rozbalit Rozbalit vše Re: Čím odsazujete
    moj nazor: odsadzovat treba medzerami.

    za odsadzovanie tabelatormi pri sucasnom nastaveni tabelatora na 2, to je zvrhlost.

    24.11.2005 11:20 Pepin
    Rozbalit Rozbalit vše Re: Čím odsazujete
    Tak tak.
    23.11.2005 20:51 elerhc
    Rozbalit Rozbalit vše Re: Čím odsazujete
    samozrejme ze mezerami (ktere generuji stiskem tabulatoru) pouzivat znaky tabulatoru je zlo
    24.11.2005 10:07 podlesh | skóre: 38 | Freiburg im Breisgau
    Rozbalit Rozbalit vše Re: Čím odsazujete
    Samozřejmě mezery.

    set expandtab
    slackman avatar 23.11.2005 17:43 slackman | skóre: 13 | Praha
    Rozbalit Rozbalit vše Re: Styl odsazování

    Sice jsem sotva pára z programátorského ....., ale když už něco náhodou uplácám, pak jedině K&R. Jinak odsazuji, odsazuji, a znovu odsazuji všechno co se jenom odsadit dá a to vždy o dvě mezery. Kdo používá tabulátory je Barbar. S komentářema je to ale u mne bída. :~)

    mood = (machine != slackware) ? depressed : euphoria;
    23.11.2005 18:00 Robert Krátký | skóre: 94 | blog: Robertův bloček
    Rozbalit Rozbalit vše Re: Styl odsazování
    ohužel buďto zapadla, anebo obsahovala odkaz na příslušnou stránku wikipedie (odkazy v anketě tuším ničily layout stránky).

    Asi zapadla, protože odkazy v textu ankety nikdy nepředstavovaly problém pro samotnou anketu. Jediná potíž byla s výpisem archivu anket - tak jsem to změnil tak, aby odkazovalo datum, ne text ankety...
    Rezza avatar 23.11.2005 18:05 Rezza | skóre: 25 | blog: rezza | Brno
    Rozbalit Rozbalit vše Re: Styl odsazování
    Tak driv jsem psal K&R, ale posledni dobou cimdal casteji prochazim kod a rozentrovavam i stare veci na BSD...
    23.11.2005 18:47 machr
    Rozbalit Rozbalit vše Re: Styl odsazování
    - v podstate k&r, ale davat oteviraci slozenou zavorku u funkce na novej radek se me zda jako nesmysl a zbytecna nekonzistence....
    int main(int argc, char** argv) {
        if(argc != 2) {
            // neco
        } else {
            while(1) {
    
            }
            ....
            switch(c) {
            case 1:
                ....
                break;
            default:
                ....
            }
            do {
    
            } while(1);
            for(int i = 1; i < 16; i++) {
    
            }
        }
    }
    
    23.11.2005 22:06 Lynn | skóre: 16 | blog: hell | Němčice
    Rozbalit Rozbalit vše Re: Styl odsazování
    pouzivam (v sebeobrane, programovani me neba) AT&T, coz je tahle ukazka :-)
    (ptala jsem se trocha googlu)
    To je síla televize...
    23.11.2005 20:27 Zdeněk Štěpánek | skóre: 57 | blog: uz_mam_taky_blog | varnsdorf
    Rozbalit Rozbalit vše Re: Styl odsazování
    Zdravim

    Ja pouzivam GNU styl a odsazuju o jednu mezeru. Dve jsou zbytecne a kdo odsazuje tabulatorem je u me blazen.

    Obcas taky odsazuju vicero mezerama, aby to sedelo s nadrazenym slovem, ale to spis jen vyjimecne u malych kousku kodu.

    Zdenek
    www.pirati.cz - s piráty do parlamentu i jinam www.gavanet.org - czfree varnsdorf
    Luk avatar 23.11.2005 20:33 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: Styl odsazování
    V Javě se doporučuje odsazova čtyřmi mezerami (používám to a nijak mi to nevadí). Ale těch 8 je opravdu moc :-D
    Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
    Luk avatar 23.11.2005 20:32 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: Styl odsazování
    Já používám různé styly podle jazyka. V Javě se snažím držet javovských konvencí, v jiných jazycích (C, C++, PHP,...) používám K&R s malými odchylkami. Ono to není příliš odlišné.

    Mimochodem někteří mí kolegové mají zajímavé způsoby. Jeden např. všechno mastí dohromady bez mezer, jiný naopak cpe mezery úplně všude (a nejlépe více za sebou). Tedy ani jedno z toho mi nesedí...
    Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
    23.11.2005 20:54 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Za mě odsazuje eclipse
    Používám mírně upravený defaultní formátovač z eclipse (pro Javu, v jiných jazycích toho nepíšu tolik, aby bylo co odsazovat :-) ) – je to v podstatě K&R. Takže když napíšu kus kódu, dám Ctrl+S (uložit), Ctrl+Shift+S (seřadit), Ctrl+Shift+F (zformátovat) a Ctrl+F9 (spustit). Nevím, proč bych měl odsazovat já, když to za mě může udělat počítač :-)

    Problém je, když začnu psát do nějaké cizí OSS knihovny. Použiju své oblíbené klávesová zkratky, a pak si uvědomím, že autoři asi nebudou chtít patch, který ve funkčnosti přidává jen 2 řádky kódu, ale "bokem" změní pořadí metod a formátování celého dokumentu, takže se z diffu vůbec nepozná, co jsem vlastně změnil :-)
    23.11.2005 20:59 Matin
    Rozbalit Rozbalit vše Jedině GNU
    A kdo odsazuje jinak, je podle mě lama. Má přítelkyně dostala za špatné odsazování košem. Tedy nejen za to, taky používala vi :/
    24.11.2005 08:29 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Jedině GNU
    Moudrá to žena!
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    24.11.2005 09:24 ND
    Rozbalit Rozbalit vše Re: Styl odsazování
    Styl Pavel Herout. :-)
    vogo avatar 24.11.2005 13:38 vogo | skóre: 34 | blog: "Skládat papír"
    Rozbalit Rozbalit vše Re: Styl odsazování
    mam svuj vlastni nejvic se podoba Whitesmiths
    int ukazka()
    {
     if podminka then
        {
         udelej_tohle();
         udelej_tamto();
        }
        else
            {
             udelej_tudleto();
             udelej_tamdleto();
            }
     return(0);
    }
    
    Nejsem paranoidní, ale to ještě neznamená, že po mě nejdou.
    vogo avatar 24.11.2005 13:39 vogo | skóre: 34 | blog: "Skládat papír"
    Rozbalit Rozbalit vše Re: Styl odsazování
    aaaaaaaaaaaaaaaaaaaaaaaaaa pardon za ty zvorky u return, rvu si vlasy, a lamu ruce
    Nejsem paranoidní, ale to ještě neznamená, že po mě nejdou.
    24.11.2005 20:37 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Styl odsazování
    Proč? Výraz '(0)' je stejně korektní návratová hodnota funkce jako '0'. Nebo tam klidně můžete napsat '(((0)))' a bude to pořád totéž…
    25.11.2005 00:18 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Re: Styl odsazování
    Nebo
    return (3, 2, 1, 0);
    
    ;-)
    25.11.2005 01:42 Honza Král | skóre: 3 | Praha
    Rozbalit Rozbalit vše Re: Styl odsazování
    hmm, zavorky vetsinou nepouzivam (dost casu delam v shellu ;) ), a kdyz uz tak K&R s tim, ze i fce jsou odsazovany normalne, jen jeste u volani fce oddeluju parametry mezerou, na odsazovani pouzivam TAB znaky nastav enena delku 4, case odsazuju uplne divne ;)
    void fce( int cislo, char ** tt ) {
        if ( cislo >= 6 ) {
          do_neco( cislo, get_neco( tt ) );
        } else {
            switch( cislo ) {
                case 'x':
                        zajimave_cislo();
                    break;
                case 'a':
                        zajimave_cislo( c );
                    break;
            }
        }
    }
    

    Založit nové vláknoNahoru

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