Kezdőoldal » Számítástechnika » Programozás » C++ fájlok includeolása?

C++ fájlok includeolása?

Figyelt kérdés

Tudnátok tanácsokat adni, hogy miket tartsak szemelőtt fájlszervezésnél?

Nem tudom, hogy jól csinálom-e, de már most zavaró nekem.

Például: Minden osztályba includeolni kell az ott felhasznált osztályok headerjeit.


Gondolom az a cél, hogy minél több include kerüljön a .cpp-be, és ne a .h-ba. Szóval törekedjek arra, hogy külső dolgokat leginkább az implementációba helyezzek el.


Az előbbi dolog például egy exception/error logoló osztályban a legzavaróbb.

Pl. van egy statikus függvénye az osztálynak, ami egy fájlba kiírja a paraméterként átadott stringet (error szövegét).

Mivel kb. minden osztályban vannak olyan metódusok, amik külső okok miatt hibásan működnek, így minden ilyen osztályba be kell includeolnom az errorkezelő osztályt?


Akár egy könyvet is szívesen elolvasnék, ha tudtok valami jót erről.


Előre is köszönöm a segítséget.


2016. nov. 29. 18:01
 1/4 anonim ***** válasza:

Akár. De azt tartsd szem előtt, például az említett error logolásnál, hogy ne moss össze olyan osztályokat, amiknek a funkcionalitása nem kötődik szorosan egymáshoz. Van például egy osztályod, ami kávét főz, és van egy másik, ami kiviszi a szemetet. Nincs igazán közük egymáshoz, ugye. De mindkét esetben fordulhatnak elő hibák, elszakad a szemeteszsák, bedöglik a kávéfőző, elfogy az édesítő, tele a kuka, stb, stb. Tehát mindkettőnek szüksége van hibakezelésre. De ha ugyanabban az osztályban kezeled le mindkét osztály hibáit, akkor akaratlanul is összemosod őket, hogy már nem lesznek egymástól teljesen függetlenek a komponensek. Erre pl megoldás, hogy egy (akár absztrakt) hibakezelő osztályt definiálsz, és minden külön osztályra létrehozod a saját származtatott hibakezelését. Így anélkül távolíthatsz el, vagy adhatsz hozzá komponenseket, hogy nagyon kódot kéne szerkesztened.



Jah, és még azt tartsd észben, hogy ha include-olsz valamit, akkor implicit módon include-olsz mindent, amit az include-ol. Tehát azokat ne include-old még egyszer (és egyébként is használj include guard-okat mindenhol).

2016. nov. 29. 18:32
Hasznos számodra ez a válasz?
 2/4 A kérdező kommentje:

Rendben, köszi az infót.


De ha a hibakezelésem csak simán egy logolás, ami átveszi pl a függvény nevét, ahol a hiba keletkezett, és egy szöveget, akkor azt nyugodtan használhatom mindenhol általánosan, nem?

(Szóval ha nincs specifikusan lekezelve a hiba, hanem csak jelzés szintű jellege van)

2016. nov. 29. 19:44
 3/4 anonim ***** válasza:
Akkor arra azért figyelned kell, hogy ha majd nagyobb lesz a programod, akkor ezeket szétválaszd.
2016. nov. 29. 21:56
Hasznos számodra ez a válasz?
 4/4 A kérdező kommentje:
Rendben, köszi a segítséget.
2016. nov. 29. 22:25

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!