Kezdőoldal » Számítástechnika » Programozás » C#-ban mi indokolja az osztály...

C#-ban mi indokolja az osztályon belül a "this" kulcsszó állandó használatát?

Figyelt kérdés
A cégünknél nézegettem a C#-os projecteket és ott is mindenhol ki van írva a "this" kulcsszó, meg az óbudai egyetemen is úgy tanítják ismerősöméknek, hogy mindig ki kell írni. Van erre valami paradigma, vagy coding guide, ami ezt előírja?

2013. máj. 15. 09:15
 1/9 anonim ***** válasza:

Egyértelműsíti a kódot. Nem kell találgatni, hogy az x változó az most függvény változó, vagy osztályváltozó, hanem egyértelmű: ha this.x, akkor osztály, egyébként függvény.

Persze lehet, hogy a józan észen kívül biztos van rá valami hangzatos elnevezés is.

2013. máj. 15. 09:20
Hasznos számodra ez a válasz?
 2/9 anonim ***** válasza:
Alapvetően nem az a lényege ha így tanítják, hogy te kötelezően tényleg midenhova kiírd, hanem az, hogy ha majdan csapatban dolgozol, akkor természetes legyen, hogy kiírod. Amíg csak te dolgozol egy adott programon (akár hobbiszinten, akár tanulási célzattal), addig nincs baj, hiszen jó esetben te átlátod a saját kódodat. De ha többen dolgoztok egy adott programon, vagy valakinek a te kódoddal kell dolgoznia, akkor a 'this' kulcsszó elhagyása egy potenciális hibalehetőséget ad.
2013. máj. 15. 10:24
Hasznos számodra ez a válasz?
 3/9 anonim ***** válasza:
100%
Nálunk épp ellenkezőleg van, nem szeretjük, ha ki van írva a this. A tagváltozókat aláhúzással kezdjük, így egyértelműen látszik, hogy melyik változó mi. Resharper is ezt ajánlja alapértelmezetten. Használunk StyleCop-ot is, de a PrefixLocalCallsWithThis szabály ki van kapcsolva.
2013. máj. 15. 10:59
Hasznos számodra ez a válasz?
 4/9 iostream ***** válasza:

Mindenhol az adott közösséghez kell igazodni. Ha ők kiírják, akkor te is kiírod, ha ők nem, akkor te sem. Ez a legfontosabb érv, függetlenül attól, hogy mennyire ésszerű.


Amúgy nem látok komoly érvet sem ellene, sem mellette. Persze, egyértelműsít, de milyen sűrűn lenne ebből probléma normális változóelnevezés mellett (tipikusan a memberek elé egy m vagy m_ kerül), és mennyire lesz tőle olvashatatlan a kód?

2013. máj. 15. 13:35
Hasznos számodra ez a válasz?
 5/9 A kérdező kommentje:
Köszi a válaszokat!:)
2013. máj. 15. 15:15
 6/9 anonim ***** válasza:
"A cégünknél nézegettem a C#-os projecteket és ott is mindenhol ki van írva a "this" kulcsszó" Ott dolgozol vagy mi? Ha ott dolgozol, biztos kaptál egy doksit valakitől, hogy miket kell betartani.
2013. máj. 15. 22:32
Hasznos számodra ez a válasz?
 7/9 A kérdező kommentje:
Van doksi, de ott csak a hogyant írják le, a miérteket nem.
2013. máj. 15. 23:55
 8/9 anonim ***** válasza:
Nincs rá nyomósabb ok gondolom. Olyan mint a kresz. Ott is lehet jobbkéz-szabály helyett bal.
2013. máj. 16. 00:39
Hasznos számodra ez a válasz?
 9/9 anonim ***** válasza:

A lényeg az, hogy ránézésre egyértelmű legyen a kódban, hogy a this. mögött szereplő valami az egy példányszintű mezőre/függvényre való hivatkozás.

Az adott cégnél használatban lévő coding guideline írja elő, hogy ezt hogyan akarják elérni, van, ahol a this van előírva, van, ahol m_-el kell kezdődnie minden példányszintű változónak, van ahol csak simán _-al. Igazából teljesen mindegy, egyik sem jobb, vagy rosszabb a másiknál.


Én csak azért szavazok a this-re, mert ha letöltöd a stylecop-ot, az by default így működik, és nem kell átkonfigurálni.

2013. máj. 16. 09:24
Hasznos számodra ez a válasz?

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

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!