( TCH | 2020. 09. 26., szo – 09:30 )

> Bár egyetlen összehasonlítás időszükséglete kicsinek tűnhet, ha egy ciklus mélyén van, a ciklus lefutásának száma nagy is lehet, s így már sok kicsi sokra megy...

Egy komparálás, egy feltételes ugrás. Fentebb kiszámoltam, hogy mennyit eszik. (pl. 4 GHz esetén kevesebb, mint 2.5 ns.) Lehet kiszámolni, hogy mennyi idő után válik érezhetővé.

> Mi van, ha a string hossza maga nulla?

Tekintve, hogy a stringkezelő függvények az első NUL karakterig végeznek műveletet: semmi. Rögtön kiszállnak. De ha le akarod validálni, akkor az plusz egy sor: if (*s == 0) return 0;

> Na most ezen gondok mindegyikére persze ki lehet találni egy hibakódot, mondván hogy minket nem érdekel az időveszteség

"Időveszteség." Két bekezdéssel feljebb leírtam, hogy mekkora "időveszteség".

> Nem mindig lehetséges az, hogy ugyanott adjuk vissza ahol az „értékes” eredményt, mert mi van ha a visszatérési érték minden bitje egyaránt szükséges lehet az „értékes” eredmény számára is!

Talán el kéne szeparálni a visszatérési eredményt a hibakódtól? A POSIX függvényeknél pl. bevett szokás, hogy ha az eredmény -1, akkor hiba van és a kódot az errno-ban találod.

> De ez még nem is minden, mert ha valamiképp vissza is adjuk itt a hibakódot, a hívó függvénynek is mindig ellenőriznie kéne hogy értékes eredményt kapott-e vissza vagy hibakódot. Na és ha mégse ellenőrzi, az legalább akkora sechole mint az, ha már a hívott függvény se validál, épp csak az utóbbi annyiból jobb hogy akkor legalább időveszteség sincs...

> Márpedig tudjuk jól, az efféle függvények visszatérési értékét (hibakódját) nem mindig ellenőrzik ám le a programozók...

Remélem ezzel nem azt akartad sugallani, hogy azért ne validáljunk függvényen belül, mert a hívó úgy sem csinál semmit a hibakódokkal... Az az ő sara, ha nem ellenőrzi, amit kéne.

> Elvégre a hívó, az az ÚR, a hívott meg a SZOLGA, és a szolga kutyakötelessége megbíznia az ő urában!

Dogmákkal nem tudok mit kezdeni. Az egészben az a szép, hogy egy bekezdéssel feljebb épp azt írod, hogy a programozók tojnak a visszatérési kódok lekezelésére, de itt meg már azt, hogy bízzunk meg abban, hogy jól csinálják.