Miért van sok programozó azon a véleményen, hogy ne használjunk globális változókat?
Több szempontból is:
1. Feleslegesen foglalja a memóriát.
2. Nem látszik azonnal, hogy hol van használva.
3. Nem használhatod ugyanazt a változónevet máshol.
4. Hackelhetőség is.
Van olyan elv, hogy minden függvény és eljárás csak paraméterlistán keresztül kapjon adatot.
Szerintem a változók kezelése egy eszköz, amit a célnak megfelelően kell használni. Én (igaz nem vagyok programozó) széles határok között úgy gondolom, hogy a feladat megoldásáról szól a programozás, minden mást (programozási nyelv, technológiák stb.) ennek kell alárendelve lennie
Igazából úgy használod, ahogy akarod, a lényeg, hogy te magad átlásd.
Az már más kérdés, ha csoportban dolgozol másokkal ugyanazon a programon, nos akkor már fontos odafigyelned arra, hogy egyértelmű legyen. Hogy mások is átlássák a programot, de ebben az esetben minden eljárást is érdemes dokumentálni, azaz leírni, hogy milyen bemenőparaméterek vannak, és mit ad majd vissza, stb.
De az esetedben az első gondolatról lehet szó... :-)
Az az egyik baj a globális változókkal, hogy nem tudod nyomonkövetni az értékének a változását. Ha sok függvény használja, módosítja, akkor nehéz megindokolni bizonyos app state-eket, nehéz róluk beszélni, gondolkodni.
A nagy előnye a pure function-nek (bemeneti paraméterben kap minden külső dependenciát, nincs mellékhatása), hogy biztosan tudod, hogy egy állapot hogyan és miből állt elő.
Ezen kívül globális változókat rémálom többszálasítani.
"Miért van sok programozó azon a véleményen, hogy ne használjunk globális változókat?"
Azért mert
1. OOP szemlélet az uralkodó. Itt pedig az egységbezárás, egységbe zárhatóság feltétele kell, hogy teljesüljön.
2. Azért, mert procedurális paradigma alkalmazása esetén is gusztustalan a kód. A globálok alkalmazása nem hiba, csak szemléleti kérdés, de könnyen lehet belőle hiba is, ha túlzásba viszik.
Globál minek oda, ahol szükségtelen?
Globálra miért kellene rálátnia minden függvénynek, ha ez szükségtelen?
Ez kis programokból nem látszik, de egy százezer soros kódban amikor hibát kell keresni, vagy refaktorálni kell, akkor irtózatosan megnehezíti a munkát, hogy nem látod át, melyik függvénynek és osztálynak mihez van hozzáférése. Nem csak a globális változókat érdemes kerülni, hanem az osztályok publikus változóit is, meg a függvény paraméterek nagy számát is. Sok pici, önálló, zárt függvényből és osztályból kell építkezni. Ez hosszú távon nagyban megkönnyíti a munkádat.
Természetesen a programozók egy jelentős része nem tart be számos fontos szabályt, ezért van az, hogy sok cégnél a teljes kódbázist 5 évente újraírják, mert kezelhetetlenné válik (nem lehet javítani és bővíteni).
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!