Hirdetés
- iPhone topik
- Fotók, videók mobillal
- Yettel topik
- Milyen okostelefont vegyek?
- Miért fárad gyorsabban az iPhone akku, mint az androidos?
- Hivatalos a OnePlus 13 startdátuma
- Samsung Galaxy S23 Ultra - non plus ultra
- Kezünkben a OnePlus 15 és az Oppo Find X9-ek
- Megérkezett a Google Pixel 7 és 7 Pro
- MIUI / HyperOS topik
-
Mobilarena

Új hozzászólás Aktív témák
-
Akkor pseudo-kodoljuk le.

Van valami business logikad, aminek hivnia kell a system(valami fajta string) fuggvenyt.
Ezt tudod csinalni ugy, hogy:void MyClass::myShit(std::string& lofasz){...csinalom a dolgom, amit kell, akarhany sorban...#ifdef OS_LINUXsystem(lofasz.c_str()); //ha a szignatura system(const char*)#endif#ifdef OS_MACsystem(valami_stringkonverzio(lofasz));#endif}Vagy:
#ifdef OS_LINUXvoid MyClass::callSystem(std::string& lofasz){system(lofasz.c_str());}#endif#ifdef OS_MACvoid MyClass::callSystem(std::string& lofasz){system(valami_stringkonverzio(lofasz));}#endifEs akkor a fo kod az nezhet ki ugy, hogy:
void MyClass::myShit(std::string& lofasz){...csinalom a dolgom, amit kell, akarhany sorban...callSystem(lofasz);}Ami sokkal tisztabb, atlathatobb, egyszerubb tesztelni, modositani, uj OS-t hozzaadni/elvenni, akarmi. Alternativanak lehet olyat is, hogy a cpp-n beluli fuggvenydeklaraciot csak egyszer csinalod meg, es azon belul ifdef-elsz, de szerintem a kulon deklaracio tisztabb, szebb, es ami sokkal fontosabb: Eltorik, ha valamit elbaszol, nem egy sima ures fuggveny lesz a vege, mert a headerben OS-tul fuggetlenul ott a szignatura, amit a fordito keresni fog, es uvolt, mint a faba szorult fereg, ha nem talalja.
A config/props: Visual Studiot hasznalsz? Ha igen, arra jo, hogy siman kivalasztod fent a configurations-nel a legordulo menuben, hogy MAC, vagy WIN, vagy LINUX, es:
- Lecserelodik a fordito arra, amit beallitottal az adott platformhoz
- "Definialodik" (pre-processor directive) az OS_VALAMI macro (mindig az, amelyik eppen kell)Igy egyszeru valtani a platformok kozott, egyszeru a CI integracio es az automata teszteles is, hiszen (mondjuk Jenkinsben) annyi a dolgod, hogy lebuildeled mind a harom konfiguraciot, aztan az artefact (a kimenet/build eredmenye) sikeres build eseten mar mehet is a celgepre, ami futtathatja is rajta az automatikus teszteket. Unit/egyeb tesztek termeszetesen lefutnak, barhol barmi error van mar jelez is, hogy szar kerult a palacsintaba. Ez mehet minden egyes git push utan akar, es akkor nincs stressz amikor deploy van (ok, de van stressz, deploy elott mindig van stressz, de kevesebb
), mert tudod jol, hogy nincs olyan commit, ami eltort barmit, aminek nem kellett volna.
Persze ezt karbantartani munka, osszerakni plane, meg normalis teszteket kell csinalni hozza, de egy nagyobb lelegzetvetelu projektnel nagyon megeri mar kozeptavon is.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Konzolokról KULTURÁLT módon
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- iPhone topik
- Filmvilág
- Fotók, videók mobillal
- Projektor topic
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- PlayStation 5
- Kerékpárosok, bringások ide!
- Assetto Corsa Rally
- További aktív témák...
- ÁRGARANCIA! Épített KomPhone Ultra 7 265KF 32/64GB RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
- AKCIÓ! MSI MAG 325CQRXF QHD VA 240Hz 1ms monitor garanciával hibátlan működéssel
- Apple iPhone 16 Pro Max 256GB,Újszerű,Dobozával,12 hónap garanciával
- BESZÁMÍTÁS! Asus H370-A i5 9600K 16GB DDR4 512GB SSD RTX 2060 Super 8GB Zalman T7 Zalman 500W
- BESZÁMÍTÁS! ASRock B450M R5 5600X 16GB DDR4 512GB SSD RX 5700 XT 8GB Thermaltake VersaH17 ADATA 650W
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


), mert tudod jol, hogy nincs olyan commit, ami eltort barmit, aminek nem kellett volna.

