Tema
Ovaj kurs je namenjen da pomogne programerima u pisanju dobrog koda, koji je uredan, može jednostavno da se testira i jasno odražava biznis domen. Kurs je u potpunosti praktičnog tipa i namenjen da nauči programere praktičnim tehnikama koje mogu odmah da se primene na realne projekte.
Zašto prisustvovati?
Softversko majstorstvo (Software Craftsmanship) se nalazi u srcu ovog kursa, tokom koga ćete naučiti nešto o takvom stavu prema programiranju i kako da to primenite na Vašem poslu. Teško je pisati uredan kod. Još teže je sređivati postojeći kod.
Trebali biste prisustvovati ako želite da:
- pišete uredan kod koji se lako razume i održava
- postanete veštiji u oblasti Test-Driven Developmenta (TDD): koristeći testove da biste dizajnirali i gradili Vaš kod
- fokusirate svoje testove i kod u produkciji, na osnovu poslovnih zahteva, primenom Outside-In TDD pristupa (tj. londonske škole TDD-a).
Uredan kod zahteva dobar dizajn. U procesu pisanja kod, kroz pisanje testova, naučićete kako da:
- razumete principe dizajna koji vode ka urednom kodu
- izbegnete suvišno dizajniranje i ponovno pisanje velikog dela koda, postepenom evolucijom Vašeg dizajna uz pomoć testova.
Jednom kad steknete razumevanje ovih principa na delu, primenićemo ih na "Legacy" kod da bismo Vam pomogli u povećanju samopouzdanja prilikom popravljanja "Legacy" projekata uz pomoć pisanja testova, refaktorisanja i redizajna.
Sadržaj
- Pisanje unit testova koji izražavaju nameru, a ne implementaciju
- Životni ciklus TDD-a i Outside-In stil TDD-a
- Upotreba unit testova kao alat za podršku ispravnom dizajniranju
- Izražajan (opisni) kod
- Testiranje i refaktorisanje "Legacy" koda.
Kurs je potpuno praktičnog tipa i programeri će pisati mnogo koda.
Publika
Programeri koji:
- su upoznati sa bar jednim objektno-orjentisanim programskim jezikom
- mogu da razumeju kod napisan u Java ili C# programskim jezicima
- mogu da pišu i izvršavaju unit testove koristeći neki od framework-a (kao što su JUnit, NUnit, itd.)
- poseduju osnovno razumevanje o Mock objektima.
Vežbe sa "Legacy" kodom će biti rađene u jednom od sledećih programskih jezika: Java, C#, PHP, Scala ili C++.
Preduslovi
Programeri moraju:
- poneti sa sobom svoj laptop
- imati razvojno okruženje, koje se sastoji iz:
- njihovog ommiljenog objektno-orjentisanog programskog jezika
- unit test framework (JUnit, NUnit i slično)
- biblioteka za Mock-ovanje (mocking library)
- biti u stanju da kreiraju projekte, bildaju sors kod i pokreću testove u svom razvojnom okruženju.
Uz to, bilo bi poželjno koristiti neki od distribuiranih sistema za verzioniranje koda, kao što je Git.