ceckovy kviz

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


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

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


Další informace o konferenci Hw-list