hlmod.hu https://hlmod.hu/ |
|
[TUT] Hasznos apróságok https://hlmod.hu/viewtopic.php?f=14&t=22312 |
Oldal: 1 / 2 |
Szerző: | Akosch:. [ 2015.10.04. 15:56 ] |
Hozzászólás témája: | [TUT] Hasznos apróságok |
Sziasztok, ismét gondoltam írok nektek valamit, mivel elég sok rendezetlen, össze - vissza kódot láttam mostanság, ez csak az ami eszembe jutott hirtelen, ha valamivel kiegészítenétek nyugodtan írjátok meg hozzászólásban. Amiről én első sorban szót ejtenék: 1. Több dimenziós tömbök 2. Kódvezetési stílusok 3. Szóközök / eltolások 4. Kommentelés, definíciók, makrók 5. "Beszélő elnevezések" / Hungarian Notation ( HN ) Szóval ugorjunk is neki a dolgoknak. 1. Több dimenziós tömbök Bizonyára már többen is hallottatok erről a dologról, tudjátok is mi ez csak valamiért nem szeretitek használni, pedig eléggé hasznos lehet, főleg mostanság a cs:go modokhoz... Nézzük is, hogy hogyan használható: SMA Forráskód: [ Mindet kijelol ]
Előnyök: Több, hasonló elemet könnyedén tárolhatunk így, egy áttekinthetőbb formában. Ciklusok segítségével könnyedén végigmehetünk az összes elemen. Hátrányok: Minimálisan lassabbak mint a sima változók, mivel hosszabb utat kell bejárni, míg megtaláljuk őket a memóriában ( ezred másodpercek ). Tudni kell, h mit hányadik indexen tárolunk, erre megoldást nyújt az enumeráció( enum ), definiálás( #define ) vagy a kommentelés. 2. Kódvezetési stílusok Szerintem mindegy milyen stílusban vezetitek a kódotokat, de a lényeg, h legyen egységes, ne használjatok feltételenként egy másikat, nagyon tudja rontani az olvashatóságát a kódnak, ebből adódóan akár a hibaelhárítást is nehezítheti, ha hanyag módon írjátok meg az egész plugint. ( Általában ez így is van, amit kiadnak trehány kódokat az tele is van hibákkal. ) Nézzük pár stílust: K&R és annak variáció: SMA Forráskód: [ Mindet kijelol ]
Allman SMA Forráskód: [ Mindet kijelol ]
Lisp SMA Forráskód: [ Mindet kijelol ]
Előnyök: Ha megszoksz egy stílust, ami tetszik vagy kézre áll, és így írod végig a kódot, akkor a végeredmény egy sokkal átláthatóbb, letisztultabb kód lesz. Könnyebb hiba keresés. ( egy 20 soros kódnál nem nagyon tűnik fel ez a dolog, de amikor már több száz, esetleg több ezer sorokról beszélünk akkor már számít ) Hátrányok: Esetleg annyi, hogy több sor lesz a kód ( pl.: a Lisp-féle kódvezetés eléggé sortakarékos az Allman-féléhez képest. ), de ez nem hiszem, hogy nagy probléma. 3. Szóközök / eltolások A szóközök és a jól eltolt sorok is nagyban tudják javítani egy forráskód olvashatóságát, ami miatt ismételten kiemelném, hogy könnyebb a hiba keresés, vagy ha kiadod valakinek a munkádat nem fogja egyből azt mondani, h igénytelen vagy. Példa: SMA Forráskód: [ Mindet kijelol ]
Előnyök: Hasonlóak, mint az előbbinél. Hátrányok Több karaktert kell írnod, eleinte fura megszokni, de utána már jön magától. 4. Kommentelés, definíciók, makrók Kommentelés: ezzel is csak még tovább szépítjük a kódunkat és még olvashatóbbá tesszük, a kommentelésnek van több változata is: 1 soros: SMA Forráskód: [ Mindet kijelol ]
több soros: SMA Forráskód: [ Mindet kijelol ]
Definíciók: ha egy számot, műveletet, kifejezést vagy szöveget szeretnénk többször is használni a kódunkban, akkor van lehetőségünk annak definiálására, megkönnyíti a kód szerkesztését. Példák: SMA Forráskód: [ Mindet kijelol ]
Makrók: hasonló az előzőhöz, csak itt tudunk megadni elemeket a definiálásba, kisebb kód részeket is megadhatunk. Példa: SMA Forráskód: [ Mindet kijelol ]
5. "Beszélő elnevezések" / Hungarian Notation ( HN ) Biztos sokan láttátok már, h 1-2 ember ilyen "fura" g_ , g, g_i, g_sz stb -ket irkál a változók neveibe, vagy a függvények nevét fn -el vagy fgv -vel kezdi... Sokáig én se értettem, h ez mire jó vagy mit tesz, de ahogy egyre több változót használtam, gyakran ugyanazzal a névvel, de más típussal úgy szépen lassan rájöttem, h nem is hülyeség, aki ismeri a jelöléseket, kicsit képben van a dologgal, annak sokkal könnyebb lesz olvasnia egy ilyen kódot és rájönnie, hogy melyik változó mit jelöl. Esetleg ha még a név további része is utal arra amire használjuk, akkor már szinte folyékonyan olvasható, h mit is csinál a kódod Szóval ezek a jelölések és jelentésük: változóknál: g_ / g - globális, bármelyik függvény hozzáfér, a plugin futása alatt nem veszti el az értékét. sz / s - string, karakterlánc, szöveg fl / f - float, valós számot tároló változó i - integer, egész számot tároló változó b - bool, logikai értéket tároló változó példa: g_bKivalasztva g_sNev g_iOles g_fEsely iHalal bElfogad.... függvényeknél: fn - function, függvény fgv - függvény + esetleg megjelölhetjük a függvény nevében a visszatérés értékének a típusát is, én személy szerint ezt nem szoktam kitenni. egyéb ami előfordulhat amxmodx -el és cs-vel kapcsolatban: ev - event, pl.: public evDeathMsg( ) { } fw / fwd - forward Persze pawnban a típus hiányosság miatt itt megint nincs annyi lehetőség, mint más nyelvekben... Részemről ennyi lenne, amíg összeugranak az sma tag közötti részek nem nagyon szeretnék hozzányúlni a leíráshoz, szóval, ha vmit hiányoltok azt írjátok meg szépen kifejtve hozzászólásban, nem szerkesztem bele ebbe amíg nem javítják ezt a hibát. Remélem segítettem valamennyit, esetleg kitisztult 1 - 2 dolog a fejetekben. ui.: Ha nehezíteni akarjátok a kódotok olvasását csináljátok az itt leírtak ellentétét xd |
Szerző: | mforce [ 2015.10.04. 18:18 ] |
Hozzászólás témája: | Re: [TUT] Hasznos apróságok |
Nagyon jó felhozatal. A téma nevén próbálj meg egy kicsit csiszolni légyszíves, hogy könnyebben rád találjanak. |
Szerző: | Akosch:. [ 2015.10.04. 19:41 ] |
Hozzászólás témája: | Re: [TUT] Hasznos apróságok |
Majd próbálok még szépíteni, pontosítani rajta, amint nem ugrik össze minden |
Szerző: | Amper [ 2015.10.06. 17:43 ] |
Hozzászólás témája: | Re: [TUT] Hasznos apróságok |
Grat!!! Majd ha lesz időd, akkor még írj hozzá többet (de csak ha akarsz!) Szerintem elég hasznos tutorial. |
Szerző: | Skyway [ 2015.10.06. 18:07 ] |
Hozzászólás témája: | Re: [TUT] Hasznos apróságok |
Köszönöm Akosch::. Szép munka, szép leírás. Csak így tovább |
Szerző: | Metal [ 2015.10.07. 10:51 ] |
Hozzászólás témája: | Re: [TUT] Hasznos apróságok |
Szép, az elsőre tettem volna be mintakódot, de olvastam a hátrányokban hogy miként lehetne szebbé varázsolni De ettől függetlenül van pár számomra érdekes észrevételem, pl ki az, aki makrót használ kommentelésre? A "hosszabb utat kell bejárni" kifejezést nem igazán értem. |
Szerző: | Akosch:. [ 2015.10.11. 10:33 ] |
Hozzászólás témája: | Re: [TUT] Hasznos apróságok |
Köszönöm az észrevételeket Metál: 1. Ha lesz úgy időm majd dobok valami mintakódot az elsőhöz. 2. Csak gondoltam érdekességkép megmutatom, h ilyet is lehet. ( esetleg, ha valaki szeretné, h megmaradjanak a kiemelések, de nem akarja, h beleforduljon a kódba akkor jó ) 3. Így visszaolvasva, átgondolva én se értem mit akartam. Amper: Ha még eszembejut valami akkor lesz bővítve, vagy ha írtok olyasmit utána nézhetek és hozzáfűzöm, vagy akár ha valami eszetekbejut ti is bemutathatjátok hozzászólásban Skyway: Köszi |
Szerző: | Anonymous1337 [ 2015.10.11. 14:36 ] |
Hozzászólás témája: | Re: [TUT] Hasznos apróságok |
Metal írta: A "hosszabb utat kell bejárni" kifejezést nem igazán értem. Szerintem arra gondolt, hogy lassabban fut le, bár ez se igaz. Megj.: Szép leírás, tetszik. |
Szerző: | Hanna:3 [ 2015.11.30. 22:12 ] |
Hozzászólás témája: | Re: [TUT] Hasznos apróságok |
Szép Munka! :3, Gratulálok |
Szerző: | Silent [ 2015.12.06. 05:50 ] |
Hozzászólás témája: | Re: [TUT] Hasznos apróságok |
Azért a globális változónak sincs "egész végig plugin futása alatt" értéke. Ugyanúgy működik, mint egy helyi, vagy egy saját változó, csak ez bármi számára elérhető. Pl ha nem kap kezdőértéket / null értéket kap valahol. (Nem biztos, hogy pawnban léteznek ezek.) |
Oldal: 1 / 2 | Minden időpont UTC+02:00 időzóna szerinti |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |