<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
Pokud jde jen o komentování, tak se dá i jeden if rozdělit na víc
řádků a odpadne hromada bloků:<br>
<br>
if (podmínka1 // koment 1<br>
&& podmínka2 // koment 2<br>
&& podmínka3 { // koment 3<br>
podmíněný kód<br>
}<br>
<br>
Tohle teda spíš používám když jsou podmínky moc dlouhé. Třeba u
nových AVR nic neobvyklého, tam má snad i většina knihovních definů
od bitů 10+ znaků.<br>
<br>
V C je možné cokoli, jen dát pozor, jestli je to přehledné pro ty co
to pak někdy budou číst. Případně jestli je to v souladu s
podmínkami zadavatele, třeba jestli požaduje MISRA, nebo má nějaké
speciální preference. Já třeba nerad používám nadbytečné závorky ve
výrazech typu if (a && b || c), ale když zadavatel chce, mu
je tam klidně dám: if ((a && b) || c)<br>
<br>
PH<br>
<br>
<div class="moz-cite-prefix">Dne 11.04.2024 v 9:39 Jaroslav Buchta
napsal(a):<br>
</div>
<blockquote type="cite"
cite="mid:df1d3d8a-4bf8-4593-a267-34d3a789433a@hascomp.cz">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<div class="moz-cite-prefix">Ale nemelo by se aspon zapomenout na
to, ze pravidla psani bezpecneho kodu doporucuji (nebo narizuji?
) pouzivat bloky i pro jeden prikaz.</div>
<div class="moz-cite-prefix">takze spis <br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">
<p><font face="Arial">if (podminka1)</font></p>
<p><font face="Arial">{ // komentář1<br>
</font></p>
<p><font face="Arial"> if (podminka2)</font></p>
<p><font face="Arial"> { // komentář2<br>
</font></p>
<p><font face="Arial"> if (podminka3)</font></p>
<p><font face="Arial"> { // komentář3<br>
</font></p>
}</div>
<div class="moz-cite-prefix"> } <br>
</div>
<div class="moz-cite-prefix">}</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">a to uz je trosku roztahane...</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">Dne 11.04.2024 v 7:28 Martin Záruba
napsal(a):<br>
</div>
<blockquote type="cite"
cite="mid:c2b40175-578f-4373-8067-9cea03d73357@volny.cz">
<meta http-equiv="Content-Type"
content="text/html; charset=UTF-8">
<p><font face="Arial">Mě ten druhý zápis připadá přehlednější,
protože lze udělat zápis:</font></p>
<p><font face="Arial">if (podminka1) // komentář1<br>
</font></p>
<p><font face="Arial"> if (podminka2) // komentář2<br>
</font></p>
<p><font face="Arial"> if (podminka3) // komentář3<br>
</font></p>
<p><font face="Arial"> {};</font></p>
<p><font face="Arial"><br>
</font></p>
<p><font face="Arial">a navíc při ladění pokud chci na zkoušku
podmínku vyhodit, stačí na začátek napsat //<br>
</font></p>
<pre class="moz-signature" cols="72">Martin Záruba</pre>
<div class="moz-cite-prefix">Dne 10.4.2024 v 21:46 Jaroslav
Buchta napsal(a):<br>
</div>
<blockquote type="cite"
cite="mid:95e58ff3-77eb-4744-8b10-5990398e97d0@hascomp.cz">I v
prvním případě je přesně definováno pořadí a pravidla
vyhodnocení. <br>
Druhý zápis jsem snad nikdy nikde neviděl, že by někoho
napadlo použít. <br>
<br>
Dne 10.04.2024 v 21:44 Pavel Hudeček napsal(a): <br>
<blockquote type="cite">V prvním případě necháte na
překladači, jaké pořadí vyhodnocení zvolí, ve druhém
zajistíte pořadí, takže např. při nesplnění podmínky 1
nevadí, že na podmínce 2 by to zrovna teď zhavarovalo. <br>
<br>
PH <br>
<br>
Dne 10.04.2024 v 18:17 Martin Záruba napsal(a): <br>
<blockquote type="cite">Jestliže potřebujete vyhodnotit, že
je splněno více podmínek současně, používáte zápis <br>
<br>
if (podminka1 && podminka2 && podminka3
.....) {}; <br>
<br>
nebo <br>
<br>
if (podminka1) if (podminka2) if (podminka2) ..... {}; <br>
<br>
Je v přeloženém kódu nějaký rozdíl nebo je to jedno? <br>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</body>
</html>