Mi a megszokott eljárás arra, ha egy adott fájlból beolvasott adatokra épül az egész program, rengeteg metódussal?
Ha a fájl sérült/hiányzik/hozzáférés megtagadva stb, akkor nem tudom kinyerni belőle az adatokat és ezáltal minden további művelet értelmetlen.
Egyelőre megoldottam úgy, hogy minden egyes metódus (ahol kell, metódushívás is) feltételvizsgálattal indít, hogy létezik-e a szóban forgó adat. Így azonban biztosan nem jó.
Két órája ülök dermedten, és keresem a szavakat. Az első választól fogva négy oldalon át sírva könyörgünk, hogy először olvasd be az adatokat valahová, és ha rendben megvannak, csak akkor kezdjél velük bármiféle tevés-vevésbe. Ehelyett te létrehozol, meghívsz, megmondasz, vizsgálsz, átadsz és listázol mindenféle kacskaringós nevű dolgokat, és ha ez az össze-vissza fortyogó szutyadék kicsap a fazékból, akkor kiíratod, hogy beolvasás vagy feldolgozás vagy az ajókamártás kanalazása vagy molylepkecsapkodás közben valami rejtélyes dolog történt. Ebből okoskodjon ki valamit az ember...
Feltételezem, hogy a beolvasandó boldogtalan fájlnak van valami előre ismert szerkezete, legalább annyi, hogy egy szöveges listába, vagy horribile dictu, bináris adatként holmi számtömbbe lehessen tölteni. A beolvasás minden lépése vizsgálható, kezdve attól, hogy a fájl létezik-e egyáltalán, folytatván azzal, hogy olvasható-e, a kapott adat típusa megfelel-e a vártnak, kevés, vagy túl sok van-e belőle, meg mit tudom én, mi minden adódhat még. Az esetleges problémák mindegyikét megfelelő, precíz hibaüzenetben közölheti a program. Ha viszont minden stimmelt, akkor már foglalkozhatsz a feldolgozással. Az azt végző metódusok nem fognak üres listát, helytelen típust, alkalmatlan értéket és egyéb disznóságokat találni, mert mindent bölcsen oda és úgy rendeztél el, ahol és ahogyan arra szükségük van.
# 41
Itt maximum Te hisztizel.
# 42
Én pont akkor vizsgálgatok, ha NEM üres a lista. Pont ezért van az if...
Ha üres volt, a beolvasás végző osztályban kiírják a kivétel szövegét, meg a végén is ott van...
„Szerintünk a medve jó kis élőlény,
hogyha álmos, alszik, de ha nem, nem.”
(Dolák-Saly Róbert: A szerelem olyan, mint egy medve)
„Én pont akkor vizsgálgatok, ha NEM üres a lista. Pont ezért van az if... Ha üres volt, a beolvasás végző osztályban kiírják a kivétel szövegét, meg a végén is ott van...”
Nem tudom, miféle különleges szerepet tulajdonítasz a NEM-üresség vizsgálatának. Két lehetőség van:
1. Sikerrel beolvastad az adatokat. Minden rendben, indulhat a feldolgozásuk.
2. Cigányútra ment a beolvasás, és ezt, éppúgy, mint az okát is, már közölted a felhasználóval. További teendőd nincs. Igaz, ahogy látom, te az édes semmittevés helyett inkább ismét ki akarod íratni hibaüzenetet, ezúttal nemcsak fölöslegesen, hanem egyszersmind pontatlanabbul is. Ám legyen, ha neked ez jó.
A fentieket az általad helyesnek ítélt fontossági- vagy érzelmi rangsor alapján intézheted így is:
ha 𝒎𝒆𝒈𝒗𝒂𝒏𝒏𝒂𝒌 az adatok
dolgozd fel őket
egyébként pedig
pótcselekvés
...meg így is:
ha 𝒏𝒊𝒏𝒄𝒔𝒆𝒏𝒆𝒌 𝒎𝒆𝒈 az adatok
pótcselekvés
egyébként pedig
dolgozd fel őket
De azt hiszem, látható, hogy a kétféle sorrend különbségének nincs világsorsfordító jelentősége. Lényegalényeg: A beolvasási kísérlet után neked egyértelmű tudásod van arról, hogy az adatok az utolsó bájtig a birtokodban vannak-e, és ennek az alapján indítod vagy mellőzöd a feldolgozást. Ha igen, akkor értelmetlen nekiállnod a feldolgozás közepette mérlegelni, hogy van-e adat a listában (vagy egyáltalán lista), mivel te magad pakoltad tele az imént. Ha viszont sikertelen volt a beolvasás, akkor meg pláne nem, hiszen épp ezért a büdös életben nem fog elindulni a feldolgozó metódus.
Száz szónak is egy a vége, sajnos megint a már többször és többféleképpen felvázolt gondolatmenetnél lyukadunk ki, amelynek szerfölötti csavarosságába minduntalan beletörik a bicskád:
Ha sikeresen beolvastad az adatokat, akkor dolgozd fel őket.
„... de ha nem, nem.”
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!