( geza42 | 2020. 09. 26., szo – 19:50 )

Lehetnek kis fv-ek is. Pl., ami egy sima tömb idx-edik elemét visszaadja (azért lehet érdemes fv-be tenni, mert debug mode-ban assert-elhet). És ezt simán hívhatod egy ciklus közepén is. Pl. C++-ban teljesen tipikus az ilyen, lásd std::vector::operator[].

 

Jobb, ha feltörik, mert nincs ellenőrzés ott, ahol kéne, hogy legyen?

Nem. Ellenőrzés legyen ott, ahova való. Én csak annyit állítok, hogy nem kell minden fv-ben ellenőrizni, ha egy feljebbi réteg már leellenőrizte az adott dolgot. Teljesen normális, hogy egy API-nak a felülete ellenőriz, de alatta már semmi. Mivel, ha rossz paraméter megy be egy internal function-nek, akkor az programhibát jelez, amit nem run-time kell megoldani. Fejlesztés/tesztelés közben legyen mechanizmus az ilyen hibák kiszűrésére (pl. assert), de a kész programban ezek feleslegesek. Csak a hibakezelést és a programot bonyolítják.