-
Fototrend

Ú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!
- Mibe tegyem a megtakarításaimat?
- Kés topik
- SkyShowtime
- Internet Rádió építése (hardver), és programozása
- Kerékpárosok, bringások ide!
- exHWSW - Értünk mindenhez IS
- Gyúrósok ide!
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- BestBuy topik
- További aktív témák...
- ZBook Fury 16 G10 16" 4K+ IPS i7-13700HX RTX 2000 Ada 32GB 1TB NVMe magyar vibill gar
- Uhh Lenovo ThinkPad P15 G2 Tervező Vágó Laptop -75% 15,6" i7-11850H 32/512 T1200 4GB /1 Millió/
- Samsung Galaxy Note 10+ 5G
- Apple iPhone 12 Pro Max 256Gb, 12 hónap Garancia, Kék Színben, Uj akkumulátor
- Dell Latitude 5521 / i7-11850H /16gb ram / 256gb SSD / Világitó Bill / WIN11
- Ventilátor bazár /NZXT/CORSAIR/LIAN LI/DEEPCOOL/ZALMAN/120MM/140MM/VEZÉRLŐK/LED KIT-ek/
- Akció! Bontatlan Sandisk SSD Plus 2TB
- BESZÁMÍTÁS! Samsung S27D850T 27 75Hz PLS QHD 5ms monitor garanciával hibátlan működéssel
- Redragon Kumara K552 RGB Brown Switch magyar billentyűzet
- GYÖNYÖRŰ iPhone 13 Mini 128GB Starlight-1 ÉV GARANCIA -Kártyafüggetlen, MS4182, 94% Akkumulátor
Állásajánlatok
Cég: Laptopszaki Kft.
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.
