Video tutorijali .NET

16 10 2008

.NET Community iz dana u dan nudi sve bolje sadržaje. Skoro svi vrhunski .NET programeri imaju vlastite (uglavnom odlične) blogove, MSDN forumi su svima dostupni, codeplex već ima fin broj projekata, nova revolucuionarna biblioteka se pojavi svakih par dana, podcast-a je mali milion. Programer koji hoće da se specijalizuje za .NET stvarno ima neograničeno mnogo besplatnih resoursa za učenje. (ne zaboraviti i Express izdanja od Microsofta).

Hardcore geek programeri su uvjek prezirali video tutorijale, ali ja lično mislim da su odlična stvar za nadograđivanje znanja. Svakako osnove treba učiti iz knjiga, ali kada dođete u neku middle-fazu nivoa znanja tada je vrlo teško naći dobru literaturu za napredovanje, jer se 90% knjiga bavi početničikm stvarima. Tu odlično uskaču dobro urađeni video tutorijali (engl. screencasts).

Posebno bih istakao sledeće dve serije:

- Dimecasts – Epizode traju samo deset minuta, i pored toga su informativne i uglavnom pružaju sjajan uvod u neke oblasti.

- dnrtv.com – Ovaj sajt je zaista blago. Vrhunski .NET stručnjaci ( Martin Fowler, James Kovac, Mark Miller, Jeff Palermo, Scott Hanselman i dr.) komentarišu i objasnjavaju najrazličitije tehnologije iz .NET sveta.(ima za svakog ponešto, pa čak i Mac programere). Problem je velilina fajlova za download (oko 200 mb po epizodi), ali kvalitet je zaista na visokom nivou a i epizode traju prosečno oko sat vremena.

U svakom slučaju bolje gledati ovo nego neke loše serije poput Dr.Hausa i Battlestar Galactica. :P





Code review – Deo 1.

13 10 2008

Par stvari koje ne želite da senior programer zatekne u vašem kodu:

  • metoda koja vraća niz
  • umetnuti (nested)  tipovi koji imaju public vidljivost
  • metoda sa boolean parametrima (ako ih ima više korisiti enumeracije, a ako ima jdena napraviti dve metode)
  • metoda sa više od 3 parametra
  • metoda sa out parametrima
  • metoda sa kodiranom povratnom vrednošću (npr. if ( Do() == 0) , već koristiti exceptions )
  • iskomentarisan kod (npr. /* Console.Write(“Provera:” ,  bar()) */ )

I jedno zapažanje sa danasnjeg code review-a u firmi:

Kada sledeći put pritisnes Ctrl-C pa Ctrl-V budi siguran da praviš grešku. :)





SplitContainer bug u VS 2005 (a boga mi i u 2008)

21 07 2008

Sitnica koja me je nekidan koštala puno živaca. Napravite formu širine recimo 800.Ubacite zatim jedan SplitContainer i postavite Dock na Fill. Na istoj kontroli treba podesiti Panel1MinSize na recimo 30 a Panel2MinSize na 200. Pokrenite aplikaciju i dobicete ovaj exception:

Poruka o greški je besmislena (za lenje 800-200 je u svakom slučaju veće od 30).

Problem je u tome što Visual Designer postavlja kod za splitContainer1 prije koda potrebnog za Form1.Rešenje je jednostavno.Postavite ove dve linije posle metode InitializeComponent() u konstruktoru od Form1:

this.splitContainer1.Panel1MinSize = 30;
this.splitContainer1.Panel2MinSize = 200;

Smešno je da se ovaj problem vuče još od prve verzije VS 2005, a bio je najavljivan i bugfix sa SP1 ali evo i u VS 2008 je situacija nepromenjena.Malo neozbiljno od strane Mirosofta,pogotovo što je u pitanju kontrola koja se često koristi.

Ja sam uvek bio zastupnik vizuelnih editora za kreiranje GUI-a u aplikacijama. (iako to nije baš geek-asto :) ) Kodiranje GUI-a mi je nekako smor.Možda i zato što jedino tu mogu pokazati da je ruka kočnica mog talenta za crtanje. :) Naravno ako se forma planira koristiti za više stvari sa minornim izmenama (recimo tipičan primer je new/edit) ili ako je forma kompleksna, ručno kodiranje je još uvek moranje.