Portál AbcLinuxu, 7. května 2025 16:21

Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Vložit další komentář
25.9.2005 14:59 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše snad ne
Odpovědět | Sbalit | Link | Blokovat | Admin
Jestli je to ten python-gammu-0.8.tar.bz2, tak ne… Jsem zvědav, jak dlouho by ten člověk hledal zdrojáky na stránkách Mozilly…
25.9.2005 15:00 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
Rozbalit Rozbalit vše Re: snad ne
25.9.2005 16:36 Spike | skóre: 30 | blog: Communicator | Praha
Rozbalit Rozbalit vše Re: snad ne
Zdrojáky stable úplně v klidu, ale pěkně dlouho jsem hledal CVS... A přitom jsem to měl přímo pod nosem...
25.9.2005 15:19 Robert Krátký | skóre: 94 | blog: Robertův bloček
Rozbalit Rozbalit vše src
Odpovědět | Sbalit | Link | Blokovat | Admin
Není moc z čeho vybírat, takže se ty zdrojáky dají identifikovat docela snadno. Ale když do názvu archivu přidáš "src", nic tím nepokazíš.
25.9.2005 15:24 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: src
A tím zmateš zbývajících 99% lidí, kteří nemají problém zdroják najít, nasereš případné baliče pro distribuce, etc., protože:
Package the distribution of `Foo version 69.96' up in a gzipped tar
file with the name `foo-69.96.tar.gz'.  It should unpack into a
subdirectory named `foo-69.96'.
                                           (GNU coding standards)
.tar.bz2 se přitom dnes už víceméně bere za rovnoprávnou alternativu.
25.9.2005 15:31 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
Rozbalit Rozbalit vše Re: src
To jsou ty samé coding standards kde se píše třeba tohle?
For the body of the function, our recommended style looks like this:
     if (x < foo (y, z))
       haha = bar[4] + 5;
     else
       {
         while (z)
           {
             haha += foo (z, z);
             z--;
           }
         return ++x + bar ();
       }
Tak ty bych moc vážně nebral&hellip
Copak toho není dost?
25.9.2005 15:38 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: src
O některých věcech nepanuje shoda a nikdy nepanovala, takže je dodržuje tak možná GNU samo.

Ale u jiných tato shoda panuje a nějaké chování je očekáváno (např. rpmbuild implicitně počítá s popsaným pravidlem, a je-li to jinak, musíš mu to říci). Jistěže můžeš napsat Makefile, kde bude defaultní target remove-home a udělá rm -rf ~, dokonce to můžeš popsat v README, ale stejně tě lidi nebudou mít rádi...
25.9.2005 15:41 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: src
Taky je velký rozdíl v pravidlech, které se týkají jen vývojářů (formátování kódu), a pravidlech, které se týkají těch, kdo program používají (chování, makefile, tarbally). U těch prvních jsem mnohem víc nakloněn tomu, ať si to každý řeší, jak mu to vyhovuje.
25.9.2005 17:51 Pmx
Rozbalit Rozbalit vše Re: src
A co se ti na tom nelíbí? :-)
25.9.2005 19:49 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
Rozbalit Rozbalit vše Re: src
To je tak, kód může být hnusný. Pak ještě hnusnější. Pak může být nejhnusnější, potom dlouho nic a pak je tenhle příklad :-)
Copak toho není dost?
25.9.2005 19:54 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
Rozbalit Rozbalit vše Re: src
No, dovolím si i ukázku jak by to mělo vypadat správně :-)
if (x < foo (y, z)) {
        haha = bar[4] + 5;
} else {
        while (z) {
                haha += foo (z, z);
                z--;
        }
        return ++x + bar ();
}
Hned je to přehlednější a hezčí :-)

Na druhou stranu musím uznat, že mají pěkně udělané detaily, jako mezeru mezi jménem funkce a závorkama s parametry a další drobnosti se kterými v zásadě souhlasím.

Jo, a odsazení je přes tabulátor, aby bylo jasno ;-)
Copak toho není dost?
Josef Kufner avatar 25.9.2005 20:01 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: src
jo tak to ma byt :)

ad zdrojaky: Ta stránka je fakt nepřehledná. Chtěla by trošku urovnat a zbavit zbytečných prvků a čar.
Hello world ! Segmentation fault (core dumped)
25.9.2005 20:20 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
Rozbalit Rozbalit vše Re: src
Dobře reklama je zbytečný prvek, ale zatím to tam chci nechat :-). Čáry v tabulce? Mě to takhle připadá lepší než bez nich, ale nejsem grafik, no teď tam jsou CSS na obojí, tak to můžete posoudit.
25.9.2005 20:12 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
Rozbalit Rozbalit vše Re: src
No to vypadá podstatně lépe :-). Ale kdybych to psal já, tak se ještě zbavím toho ++x v returnu, protože to si prostě říká o to v tom udělat chybu :-).
25.9.2005 20:30 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
Rozbalit Rozbalit vše Re: src
To se mi taky nelíbí, ale měnil jsem jenom formátování :-)
Copak toho není dost?
25.9.2005 21:56 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: src
Tak to ani náhodou.
return ++x + bar ();
Je klasická ukázka, jak mezery před ( rozbíjejí kód, takže musíš hledat, co vlastně patří k čemu.

else chci pořádně vidět, takže na začátek řádku. Jinak by to šlo.
if (x < foo(y, z)) {
    haha = bar[4] + 5;
}
else {
    while (z) {
        haha += foo(z, z);
        z--;
    }
    return ++x + bar();
}
25.9.2005 22:08 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: src
K mezerám před ( bych ještě podotkl, že mezery se kolem operátorů mají objevovat s jejich klesající prioritou. Jelikož má volání funkce nejvyšší prioritu, jsou mezery kolem operátoru volání funkce nanejvýš pomýlené. Pokud bys chtěl zmíněný výraz zapsat čitelně, musel bys to udělat:
return ++x + (bar ());
tedy s přehnaným závorkováním, ke kterému GNU styl mezerování bohužel vede, má-li se udržet srozumitelnost.
25.9.2005 22:24 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
Rozbalit Rozbalit vše Re: src
Závorkování nevadí, slepence závorek ano.

Když už by nebylo zbytí, mohlo by to vypadat:
return bar () + (++x);
Že to vypadá hnusně není tou závorkou ale zbytečným ++ :-)

Ale řekněme, že tohle je případ, kdy se dá závorka obětovat ;-)
Copak toho není dost?
25.9.2005 22:21 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
Rozbalit Rozbalit vše Re: src
Tak to ani náhodou.
return ++x + bar ();
Je klasická ukázka, jak mezery před ( rozbíjejí kód, takže musíš hledat, co vlastně patří k čemu.

else chci pořádně vidět, takže na začátek řádku. Jinak by to šlo.
A tohle je lépe vidět? Nemyslím. Kdyby tam byl jediný řádek s } else {, tak to bude vyčnívat a nepůjde to přehlédnout (protože jak kód nad tím tak pod tím bude odsazený). Takhle se to utopí.

return ++x + bar(); se mi nelíbí ať už s mezerou nebo bez. ++ nebo -- bych tady vůbec nepoužil. Nicméně tohle je účelový příklad aby vynikly drobné nedostatky té mezery :-) Naopak na příkladu kde by v těch závorkách bylo dalších pět zanořených a navrch ještě nějaké přetypování by se to krásně ukázalo :-)
Copak toho není dost?
25.9.2005 22:39 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: src
Ad else. To je asi otázka zvyku, ale klíčová slova složených příkazů (kromě blbého do-while) prostě hledám pouze na začátích řádků. Co je za nějakou }, to jako by nebylo.

Ad (). Příklad je umělý, takže to ++ asi nemá moc smysl rozebírat. Jinak nevím, co by se mělo ukázat. S GNU přetypováním to vypadá
return ++x + (int) bar (y) + * (int *) (b + 3) + (int) (bb * 3);
a to už vůbec netuším, co je vlastně bar zač, co se sčítá tím +, a kde se tam vzala ta hvězdička...
25.9.2005 22:44 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
Rozbalit Rozbalit vše Re: src
Opět umělý příklad :-)

(int) bar (y) + ((int *)(b + 3) + (int)(bb * 3));

Nějak přehledněji? (mezi dvě závorky bych mezery asi nepsal, stejně jako třeba mezi [5] [4], [5][4] je IMHO lepší)
Copak toho není dost?
25.9.2005 23:07 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: src
(int)bar(y) + ((int*)(b+3) + (int)(bb*3));
nebo
(int)bar(y) + ((int*)(b + 3) + (int)(bb * 3));
ale jinak pokud možno hlavně
(int*)(b + 3) + (int)(bb * 3) + (int)bar(y);
protože psát pointerovou aritmetiku s pointerem zahrabaným kdesi vprostřed výrazu je cesta do pekel. Kromě toho je hned vidět, že se sčítají tři věci a jaké.

Mezery se píší za kvůli přehlednosti, takže nemám problém s tím, že
2*3 + 1
se napíše bez mezer kolem *, kdežto
foo->bar(x) * (int)x[3]
s mezerou kolem *, pokud v jednom výrazu nedostanou operátory s vyšší prioritou mezery, když operátory s nižší mezery nemají.
25.9.2005 23:48 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
Rozbalit Rozbalit vše Re: src
No dobře, ale stejně to IMHO vyjde nastejno a nelíbí se mi to :-)
Copak toho není dost?
25.9.2005 16:16 Marián André | skóre: 10 | blog: Qblog
Rozbalit Rozbalit vše Komentár
Odpovědět | Sbalit | Link | Blokovat | Admin
No, možno by stačilo využiť stĺpec Description na vyššie odkazovanej stránke a bolo by jasné aj pre takýchto pisateľov mailov.
O mne.
25.9.2005 18:40 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
Rozbalit Rozbalit vše Re: Komentár
No dobře, tak jsem to tam přidal :-). Ale mám obavy, že tomuhle člověku nepomůže vůbec nic.

Založit nové vláknoNahoru

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

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.