( gelei | 2020. 09. 25., p – 17:17 )

Nem tudok ennyire éles határvonalakat húzni. Azt mondanám, hogy ami validáció nem triviális vagy úgy gondoljuk, hogy változhat vagy több helyen is szükség van ugyanarra a szabályrendszer szerinti validációra, akkor kiszervezném. Ennyi. Hogy valami beleesik-e valamelyik kategóriába, arra meg ott a józan ész.

Sőt, számíthat a projekt mérete is: dolgoztam olyan kódbázison, amibe több száz fulltime developer tolta bele a kódot - nyilván itt más megközelítést érdemes alkalmazni, mint egy pársoros scriptben. Én azt mondom, hogy ha van egy jól felépített (mielőtt random CVE-ket linkelsz, ez szükséges feltétel!) architektúra, akkor nem kell minden egyes pontján végrehajtani ugyanazokat az ellenőrzéseket.

Nyilván, ha nem tudod, hogy a függvényed sorsa mi lesz, és lehet, hogy összevissza hívogatja majd minden a nagyvilágban, akkor ja, ellenőrizd az inputot. Vagy ne, mert pl. az is lehet egy teljesen jó megközelítés, hogy a függvényed dokumentáltan exception ágra is futhat, aztán majd a hívó fél kezd vele, amit akar. Vagy lehet, hogy referentially transparent (erre btw van magyar szó?) függvényeket akarsz, mert mondjuk cache-elni akarod az input->output párokat, ott pláne nem javasolt helyben végezni az érdemi hibakezelést, mert az RT-ness miatt sokszor elég korlátozottak a lehetőségeid.

Egy plusz if ebben a kódban? Micsoda erőforráspazarlás...oh, muh performance...

Bevallom, a random idelinkelt sebezhetőségekkel és bugokkal nem nagyon foglalkoztam, mert C-ben csak nagyon minimálisan kellett dolgoznom eddig. Design patternekről tudok beszélgetni, de a C nyelv rejtelmeit hadd ne kelljen most megismernem. :D

Mindenesetre volt olyan munkám, ahol egy szimulációt kellett (tök azonos inputokkal) lefuttatni rengetegszer, órákban volt mérhető a különbség amit az ilyen tizedmásodperces feladatok átcsoportosításával le lehetett faragni. Nyilván itt jön be az, amit az előbb mondtam, hogy rendesen dokumentált környezetben dolgoztunk, nem kellett attól aggódni, hogy a százmillió task mellé elindít valaki még százmilliót nullpointerekkel meg február 30-ával.