ceckovy kviz

Jaroslav Buchta jaroslav.buchta na hascomp.cz
Středa Září 6 23:18:38 CEST 2023


Kdyz to ctu znova, tak tam vidim dalsi chybu, dal bych
if (kozy == 2 )
{
     splnuje_predpoklady=1;
}
;-)

Dne 06.09.2023 v 23:13 Jaroslav Buchta napsal(a):
> Jo, to je taky zakladni doporuceni v MISRA...
> Jeste k tem zavorkam, kdyz to vidim, tento zapis me naprosto irituje, 
> podle me vubec nejsou prehledne bloky. Jak jsem pochopil, je pro to i 
> ruzne pojmenovani formatovani textu.
> Proc normalne vsichni nepouzivaji:
>
> if(..)
> {
>    if(..)
>     {
>         neco;
>     }
>     neco;
> }
>
> ?
> Dne 06.09.2023 v 23:09 Petr Labaj napsal(a):
>> Jen úplně nepodstatná poznámka:
>> právě kvůli nebezpečí nějakého odsunutí nebo naopak dopsání, které by 
>> už bylo mimo podmínku, používám zásadně blokové závorky i při jediném 
>> příkazu v if.
>>
>> Tedy ne:
>> if (kozy>2) splnuje_predpoklady=1;
>>
>> ale
>>
>> if (kozy>2) {
>>     splnuje_predpoklady=1;
>> }
>>
>> PL
>>
>> ********************
>>
>> Dne 6.9.2023 v 22:45 Pavel Hudeček napsal(a):
>>> Já si myslím, že tohle je typický příklad umělé konstrukce, kterou 
>>> přímo v této podobě nikdo normálně nepoužije. Jenže šedá je teorie a 
>>> zelený strom života...
>>>
>>> Měříme na pár kanálech ADC a jednou to uděláme bez přerušení a 
>>> podruhé s:
>>>
>>> *for (uint8_t mxIdx=AD_chanStart; mxIdx<=AD_chanEnd; mxIdx++)* {
>>>     ADC0_MUXPOS = mxIdx;
>>>     ...
>>>     adData[mxIdx-AD_chanStart] = ADC0_RES;
>>> }
>>>
>>> Normální for, v jednom řádku se dozvíme od, do a po jak velkých krocích.
>>>
>>> Jenže normálně nechci měřit for cyklem a v něm čekat až je změřeno, 
>>> takže chci použít přerušení. Ale v něm chci mít taky takový jeden 
>>> řádek, kde je jedna konstrukce s od, do a po jakých krocích.
>>>
>>> ISR (ADC0_RESRDY_vect) {
>>>     static uint8_t mxIdx=AD_chanStart;
>>>
>>>     adData[mxIdx-AD_chanStart] = ADC0_RES;
>>> *if (++mxIdx > AD_chanEnd) mxIdx = AD_chanStart;*
>>>     ...
>>> }
>>> Jen je škoda, že ta inicializační hodnota je tam dvakrát. Ale pořád 
>>> je to lepší, než rozdělený na řádky ++ a if. Proč? Jednak když to 
>>> vidím, tak je to jako vidět ten for, prostě jasná konstrukce, kde 
>>> hned vím co dělá a proč. No a hlavně se při nějaké úpravě nemůže 
>>> snadno stát, že se z toho omylem kus odsune, vymaže, či zkopíruje 
>>> kam nemá.
>>>
>>> Je možné, že když to někdo vidí poprvé, tak mu to chvíli jasné není. 
>>> Jakmile to pochopí, tak je to prostě standardní konstrukce s na 
>>> první pohled jasným chováním, stejně jako for použitý běžným způsobem.
>>>
>>> PH
>>>
>>> Dne 06.09.2023 v 21:38 Petr Labaj napsal(a):
>>>> Myslím, že jde o to, jak má člověk nastaveno samohodnocení.
>>>> Jestli na svém interním žebříčku postoupím výše pokud napíšu fakt 
>>>> prďáckou konstrukci, kterou nikdo jiný napsat neumí.
>>>> Nebo jestli naopak postoupím tehdy, pokud napíšu program, který je 
>>>> každému jasný na první pohled.
>>>>
>>>> a=i--;
>>>> a=--i;
>>>>
>>>> je jistě správně.
>>>> Ale pokud napíšu
>>>> a=i;
>>>> i--;
>>>>
>>>> i--;
>>>> a=i;
>>>>
>>>> tak je to stejné, a zřejmě i kompilátor to přeloží stejně nebo 
>>>> skoro stejně.
>>>>
>>>> A otázka:
>>>> Který z těch zápisů je na první pohled jasnější, a kde spíš 
>>>> neudělám chybu? Ne v okamžiku, kdy se soustředím na kvíz, ale kdy 
>>>> jsem unavený a mám vytahané očí čuměním 10 hodin na monitor.
>>>> Který zápis bude pochopitelnější kolegovi, který sice programuje 
>>>> PLC, ale C viděl jen z rychlíku?
>>>>
>>>> PL
>>>>
>>>> ********************
>>>>
>>>> Dne 6.9.2023 v 21:22 Jindrich Fucik napsal(a):
>>>>> ...
>>>>> Protože pochopitelně i tohle je správný zápis:
>>>>> a=i--;
>>>>> a=--i;
>>>>> a kupodivu "a" se bude lišit.
>>>>> ...
>>>
>>
>>
>> _______________________________________________
>> HW-list mailing list  -  sponsored bywww.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored bywww.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list

------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20230906/79b1a332/attachment.htm>


Další informace o konferenci Hw-list