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 16:11 | Nová verze

    Byl vydán Debian 13.2, tj. druhá opravná verze Debianu 13 s kódovým názvem Trixie. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

    Ladislav Hagara | Komentářů: 0
    dnes 12:11 | IT novinky

    Google představil platformu Code Wiki pro rychlejší porozumění existujícímu kódu. Code Wiki pomocí AI Gemini udržuje průběžně aktualizovanou strukturovanou wiki pro softwarové repozitáře. Zatím jenom pro veřejné. V plánu je rozšíření Gemini CLI také pro soukromé a interní repozitáře.

    Ladislav Hagara | Komentářů: 3
    včera 14:22 | Bezpečnostní upozornění

    V přihlašovací obrazovce LightDM KDE (lightdm-kde-greeter) byla nalezena a již opravena eskalace práv (CVE-2025-62876). Detaily v příspěvku na blogu SUSE Security.

    Ladislav Hagara | Komentářů: 5
    včera 13:22 | Nová verze

    Byla vydána nová verze 7.2 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Tor Browser byl povýšen na verzi 15.0.1. Další novinky v příslušném seznamu.

    Ladislav Hagara | Komentářů: 0
    včera 10:33 | IT novinky

    Česká národní banka (ČNB) nakoupila digitální aktiva založená na blockchainu za milion dolarů (20,9 milionu korun). Na vytvořeném testovacím portfoliu, jehož součástí jsou bitcoin, stablecoiny navázané na dolar a tokenizované depozitum, chce získat praktickou zkušenost s držením digitálních aktiv. Portfolio nebude součástí devizových rezerv, uvedla dnes ČNB v tiskové zprávě.

    Ladislav Hagara | Komentářů: 41
    včera 03:22 | IT novinky

    Apple představil iPhone Pocket pro stylové přenášení iPhonu. iPhone Pocket vzešel ze spolupráce značky ISSEY MIYAKE a Applu a jeho tělo tvoří jednolitý 3D úplet, který uschová všechny modely iPhonu. iPhone Pocket s krátkým popruhem se prodává za 149,95 dolarů (USA) a s dlouhým popruhem za 229,95 dolarů (USA).

    Ladislav Hagara | Komentářů: 17
    včera 02:33 | Nová verze

    Byla vydána nová stabilní verze 7.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 142. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    13.11. 22:11 | Nová verze

    Společnost Epic Games vydala verzi 5.7 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 2
    13.11. 16:22 | Bezpečnostní upozornění

    Intel vydal 30 upozornění na bezpečnostní chyby ve svých produktech. Současně vydal verzi 20251111 mikrokódů pro své procesory.

    Ladislav Hagara | Komentářů: 0
    13.11. 15:33 | Nová verze

    Byla vydána říjnová aktualizace aneb nová verze 1.106 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.106 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 1
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (47%)
     (18%)
     (18%)
     (23%)
     (15%)
     (23%)
     (16%)
     (16%)
    Celkem 354 hlasů
     Komentářů: 16, poslední 12.11. 18:21
    Rozcestník

    Styl odsazování

    23.11.2005 15:34 | Přečteno: 1784× | 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.