<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <div class="moz-cite-prefix">Jo, to je taky zakladni doporuceni v
      MISRA...</div>
    <div class="moz-cite-prefix">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.</div>
    <div class="moz-cite-prefix">Proc normalne vsichni nepouzivaji:</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">if(..)</div>
    <div class="moz-cite-prefix">{</div>
    <div class="moz-cite-prefix">   if(..)</div>
    <div class="moz-cite-prefix">    {<br>
    </div>
    <div class="moz-cite-prefix">        neco;</div>
    <div class="moz-cite-prefix">    }</div>
    <div class="moz-cite-prefix">    neco;<br>
    </div>
    <div class="moz-cite-prefix">}</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">?<br>
    </div>
    <div class="moz-cite-prefix">Dne 06.09.2023 v 23:09 Petr Labaj
      napsal(a):<br>
    </div>
    <blockquote type="cite"
      cite="mid:5e077585-4bf7-dbca-0077-639015b0bd67@volny.cz">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      Jen úplně nepodstatná poznámka:<br>
      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.<br>
      <br>
      Tedy ne:<br>
      if (kozy>2) splnuje_predpoklady=1;<br>
      <br>
      ale<br>
      <br>
      if (kozy>2) {<br>
          splnuje_predpoklady=1;<br>
      }<br>
      <br>
      PL<br>
      <br>
      ********************<br>
      <br>
      <div class="moz-cite-prefix">Dne 6.9.2023 v 22:45 Pavel Hudeček
        napsal(a):<br>
      </div>
      <blockquote type="cite"
        cite="mid:bfde7772-53d5-7a5c-5c26-5063149aed84@seznam.cz">
        <meta http-equiv="Content-Type" content="text/html;
          charset=UTF-8">
        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...<br>
        <br>
        Měříme na pár kanálech ADC a jednou to uděláme bez přerušení a
        podruhé s:<br>
        <br>
        <b>for (uint8_t mxIdx=AD_chanStart; mxIdx<=AD_chanEnd;
          mxIdx++)</b> {<br>
            ADC0_MUXPOS = mxIdx;<br>
            ...<br>
            adData[mxIdx-AD_chanStart] = ADC0_RES;<br>
        }<br>
        <br>
        Normální for, v jednom řádku se dozvíme od, do a po jak velkých
        krocích.<br>
        <br>
        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.<br>
        <br>
        ISR (ADC0_RESRDY_vect) {<br>
            static uint8_t mxIdx=AD_chanStart;<br>
        <br>
            adData[mxIdx-AD_chanStart] = ADC0_RES;<br>
           <b> if (++mxIdx > AD_chanEnd) mxIdx = AD_chanStart;</b><br>
            ...<br>
        }<br>
        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á.<br>
        <br>
        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.<br>
        <br>
        PH<br>
        <br>
        <div class="moz-cite-prefix">Dne 06.09.2023 v 21:38 Petr Labaj
          napsal(a):<br>
        </div>
        <blockquote type="cite"
          cite="mid:722c8265-7f7e-c703-e913-f92a8bf9683f@volny.cz">Myslím,
          že jde o to, jak má člověk nastaveno samohodnocení. <br>
          Jestli na svém interním žebříčku postoupím výše pokud napíšu
          fakt prďáckou konstrukci, kterou nikdo jiný napsat neumí. <br>
          Nebo jestli naopak postoupím tehdy, pokud napíšu program,
          který je každému jasný na první pohled. <br>
          <br>
          a=i--; <br>
          a=--i; <br>
          <br>
          je jistě správně. <br>
          Ale pokud napíšu <br>
          a=i; <br>
          i--; <br>
          <br>
          i--; <br>
          a=i; <br>
          <br>
          tak je to stejné, a zřejmě i kompilátor to přeloží stejně nebo
          skoro stejně. <br>
          <br>
          A otázka: <br>
          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. <br>
          Který zápis bude pochopitelnější kolegovi, který sice
          programuje PLC, ale C viděl jen z rychlíku? <br>
          <br>
          PL <br>
          <br>
          ******************** <br>
          <br>
          Dne 6.9.2023 v 21:22 Jindrich Fucik napsal(a): <br>
          <blockquote type="cite">... <br>
            Protože pochopitelně i tohle je správný zápis: <br>
            a=i--; <br>
            a=--i; <br>
            a kupodivu "a" se bude lišit. <br>
            ... <br>
          </blockquote>
        </blockquote>
        <br>
      </blockquote>
      <br>
      <br>
      <fieldset class="moz-mime-attachment-header"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
HW-list mailing list  -  sponsored by <a class="moz-txt-link-abbreviated" href="http://www.HW.cz">www.HW.cz</a>
<a class="moz-txt-link-abbreviated" href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a>
<a class="moz-txt-link-freetext" href="http://list.hw.cz/mailman/listinfo/hw-list">http://list.hw.cz/mailman/listinfo/hw-list</a>
</pre>
    </blockquote>
    <p><br>
    </p>
  </body>
</html>