[ virtualVoid @ 09.08.2009. 16:50 ] @
Svaki put kada se prebacim na neku oblast (media, audio, komercijalne aplikacije, itd.) provodim dane, a i tjedne, pokusavajuci skuziti koje su najkoristenije klase u toj oblasti. Postoji li brzi nacin od ovoga? Kako vi pronadjete odgovarajuce klase kada dobijete zadatak da uradite neku aplikaciju? Sumnjam da radije kreirate svoju klasu .

Nadam se da postoji neka caka ili barem neki sajt sa najkoristenijim klasama. Pretraga u google za "most used c# classes" me nije odvela daleko.
[ Sapphire @ 09.08.2009. 22:52 ] @
Ja te iskreno ništa nisam skontao šta podrazumijevaš pod "najkorištenijim" klasama... Jel' misliš na neke utility klase za određene oblasti?
[ mmix @ 10.08.2009. 08:39 ] @
System.String?
[ virtualVoid @ 10.08.2009. 08:49 ] @
Citat:
mmix: System.String?


ne kuzim sto si htio reci?

Citat:
Sapphire: Ja te iskreno ništa nisam skontao šta podrazumijevaš pod "najkorištenijim" klasama... Jel' misliš na neke utility klase za određene oblasti?


Mislim da da . Kad mi se pojavi potreba da koristim funkcionalnosti odredjene oblasti, ja nikad ne znam kako pronaci koje klase pripadaju toj oblasti da ne bih morao izmisljati svoje klase.
Npr. radim video player i kako cu sad skuziti koje .NET klase korisititi da ne bih izmisljao toplu vodu?
[ mmix @ 10.08.2009. 08:51 ] @
Pa system.string ti je klasa sa najvise instanci u bar 99.9% aplikacija opste namene. Inace, slicne informacije mozes da pokupis iz code profiler-a.
[ virtualVoid @ 10.08.2009. 15:57 ] @
Citat:
mmix: Pa system.string ti je klasa sa najvise instanci u bar 99.9% aplikacija opste namene. Inace, slicne informacije mozes da pokupis iz code profiler-a.


a to si mislio . heheheh samo sto ja nisam bukvalno mislio na najcesce pojavljivanu klasu

Jos jednom ponavljam, kad vi dobijete zadatak da napravite nekome npr. video player ili kasu ili neku drugu aplikaciju, kako skuzite koje klase vec postoje u .NET-u koje mozete iskoristiti za vasu aplikaciju da biste ustedjeli vrijeme ali i dobili na kvaliteti aplikacije (starije klase koje su prosle dosta revidiranja su daleko bolje nego one koje smisljate ad hoc)? Da li na googleu kucate pojam tipa "making video player c#" ili slicne pojmove ili postoji neka organizirana lokacija na kojoj mozete vidjeti koje klase su korisne za multimediju, koje za printanje, koje za full screen, koje za neke kalkulacije i slicno. Mislim da se ove klase zovu utility classes, kao sto me je netko pitao na pocetku teme.
Nadam se da sam sada ovo bolje pojasnio
[ Shadowed @ 10.08.2009. 16:24 ] @
Pa, klase su u Framework-u prilicno dobro izdeljene po namespace-ovima. Kada je nesto novo u pitanju, obicno potrazim primere kako se to radi. Mada, ako pravim player necu traziti primer kako se pravi player nego kako se prikazuje video jer ce biti i vise primera i bice jednostavnije videti princip. Kad vidim sta su drugi koristili, vidim odgovara li mi, pogledam ima li jos nekih mogucnosti pa procenim.

BTW, ako pravis iole slozeniji video player, izmislices i toplu i hladnu pa i suvu vodu...
[ virtualVoid @ 10.08.2009. 16:36 ] @
Citat:
Shadowed: Pa, klase su u Framework-u prilicno dobro izdeljene po namespace-ovima. Kada je nesto novo u pitanju, obicno potrazim primere kako se to radi. Mada, ako pravim player necu traziti primer kako se pravi player nego kako se prikazuje video jer ce biti i vise primera i bice jednostavnije videti princip. Kad vidim sta su drugi koristili, vidim odgovara li mi, pogledam ima li jos nekih mogucnosti pa procenim.

BTW, ako pravis iole slozeniji video player, izmislices i toplu i hladnu pa i suvu vodu...


Znaci ti bukvalno prebires namespaceove na MSDN-u u potrazi za klasom za koju mislis da ce ti odgovarati? Ili ima neki jednostavniji i manje time-consuming nacin?
[ mmix @ 10.08.2009. 16:41 ] @
Pa nije to bas papirni spisak i zasiljena olovka pa stikliras sta ti treba :)

Otprilike kad si na nekom jacem .NET nivou znas sta gde stoji makar i ne znao kako se zove tacno. Treba ti da ucitas avi? to je neki file stream -> bacis pogled u System.IO, itd. U krajnjoj liniji desice ti se sigurno bar jednom da napises neku rutinu koja vec postoji u .NETu a nisi znao za nju.
[ virtualVoid @ 10.08.2009. 17:03 ] @
Ok, ali dok ne dodjem na taj jaci nivo, odnosno dok toliko ne upoznam .NET, kako da se snadjem u svemu? Kako pronaci klasu koja mi treba? Prebirao sam MSDN library ali sam ostao zbunjen jer namespaceovi nisu organizirani na bas tako jasan nacin.
[ mmix @ 10.08.2009. 18:32 ] @
Mozda da probas sa nekom vizuelizacijom, npr neki framework poster (proguglaj)

[ MarkoBalkan @ 11.08.2009. 12:14 ] @
otvori object browser u Visual studiju, tamo imaš sve klase i sve ostalo.
[ bobby63 @ 13.08.2009. 12:37 ] @
Avaj, slaba vajda od MSDN i object browsera ako ne znas tacno sta trazis i sta ti treba ...
Object browser jeste od velike pomoci ali samo kao pomoc za sintaxu i sl. sto opet podrazumeva da moras vec otpilike da poznaje tu metodu.

Po meni (i ko sto rece Shadowed), najbolja metoda je da po googlu potrazis primere za ono sto ti treba sto se vec lako nalazi.
Dalje je logican put da odaberes primer koji ti je najjasniji itd.

Pretpostavljam da je pitanje zapravo bilo kako odabrati pravi put jer svaki posao moze da se uradi na 10-tak razlicitih nacina ali za to nema odgovara, jednostavno biras sta ti najvise odgovara. Mediji su najbolji primer. Za mene je npr najbolja metoda za video directX a za zvuk sdl.net (free biblioteke), XNA ako treba neka 3D vizualizacija itd itd itd

Ukratko, kad pocnes nesto novo, ne moze da se izbegne vreme potrebno da se provali kako nesto radi a posle je lako, za novi software copy-paste :)
[ toxi_programer @ 13.08.2009. 18:39 ] @
Odem na Google i nađem primere za konkretnu stvar koja me zanima. Znači ako pravim nešto što treba da ima print report, a to nikad nisam radio, tražim "printing reports C#". Onda ispravljam greške u svoj engleskom pisanju i eventually nađem šta mi treba.
Usput pokupim i par stvari koje nisam tražio tako da dodatno oplemenim svoj profil

Eto, pre par nedelja sam kucao kod da simulira pritisak određenih tastera(i njih obrađuje trenutno aktivan program, a ne moj program). Završio sam sa gomilom WinAPI poziva da bih posle toga shvatio da postoji funkcija SendKey(ili tako nekako) koja upravo to radi u jednoj liniji... To je kao u onom vicu kad bosanci kopaju jedan tunel sa dve strane brda. Ako se sretnu - sreli su se. Ako se ne sretnu - imate dva tunela.


Offtopic: u Eclipse ima dosta bolji način za pregled hijerarhije klasa etc nego u Visual Studio-u :/ I baš je korisno kad si nov u nekoj oblasti :/

[ Shadowed @ 13.08.2009. 19:05 ] @
Zato ja rekoh "Kad vidim sta su drugi koristili, vidim odgovara li mi, pogledam ima li jos nekih mogucnosti pa procenim." :)
Vremenom i iskustvom ces steci neku vrstu osecaja da li je to dobar nacin ili bi mozda trebalo traziti nesto drugo ;)
[ virtualVoid @ 15.08.2009. 16:48 ] @
Tema je otisla u pravcu u kojem nisam zelio da ode, iako ste mi time dali dodatne korisne informacije . Hvala i za to.

Ali ono sto je mene zanima, a sto ocigledno nisam dobro formulirao, je sljedece: kako znati kada kreirati svoju klasu, a kada koristiti postojecu .NET klasu? Ocito je nemoguce poznavati sve .NET klase, a jos stupidnije bi bilo uciti klase napamet ili nesto slicno. Kako vi odlucite sto uraditi? Mora postojat ono **nesto** preko cega vi donesete odluku. Ta nije valjda iskustvo jedino **ono nesto**?!

PS. nedavno sam 7 dana pravio svoju klasu za koju sam mislio da sam uradio dobar posao, da bih na kraju otkrio da postoji takva ista gotova .NET klasa koja ne samo da je bolja od moje, nego je obradila i neke aspekte koji meni u trenutku kreiranja uopce nisu pali na pamet. sav ovaj trud sam na kraju bacio u smece i nikad nisam prezalio izgubljeno vrijeme. to je bio povod otvaranja ove teme.
[ bobby63 @ 16.08.2009. 12:53 ] @
Odgovor na to pitanje nema veze sa programiranjem nego sa ekonomijom.

Da je M$ hteo da navigacija po klasama bude jednostavna onda bi tako i uradio ali onda nebi mogli da uzimaju pare za razne kurseve, skole, seminare, certtifikate itd.

Ako nista drugo dodali bi milione snippet-a, da je postojala zelja da se pomogne.
[ mmix @ 16.08.2009. 13:27 ] @
Samo bez teorija zavere molim, da tema ne bi otisla u madzone. Uostalom pohadjanje bilo kog od kurseva niti posedovanje bilo kog od insdustrijskih certova ne garantuje detaljno poznavanje framework-a. Iskreno sumnjam da iko, sem mozda zaludnih ljudi sa fotografskim pamcenjem, zna sve klase u .NET-u napamet.


Citat:
virtualVoid: PS. nedavno sam 7 dana pravio svoju klasu za koju sam mislio da sam uradio dobar posao, da bih na kraju otkrio da postoji takva ista gotova .NET klasa koja ne samo da je bolja od moje, nego je obradila i neke aspekte koji meni u trenutku kreiranja uopce nisu pali na pamet. sav ovaj trud sam na kraju bacio u smece i nikad nisam prezalio izgubljeno vrijeme. to je bio povod otvaranja ove teme.


Nemoj uopste da se uzrujavas zbog toga, to ce ti se uvek desavati i najcesce neces ni znati da si to uradio. Ja sam to upravo uradio pre par dana, napisao sam svoj Path.GetDirectoryName nakon sto sam pokusao neuspesno da ga nadjem u System.IO.File, pa ti vidi

[ Eurora3D Team @ 16.08.2009. 20:30 ] @
Ovo sto je @Shadowed pisao ti je otprilike najbolji savet koji ces da dobijes. I iskustvo jeste najbitnije i taj "osecaj" za programranje koji se stice vremenom.
Tako da istrazuj , citaj, za svaki problem prouci sve sto mozes da nadjes na netu ili msdn-u i posle nekog vremena ces da gledas na posao iz sasvim drugog ugla ... a i imaces neku kolekciju svojih resenja koje ces samo da kopiras u nove programe.
I dobro je sto dobijas zadatke iz poznatih oblast, sta bi npr. da moras da napravis nesto sto do sad niko nije pravio :)