SOLIDay: Protiv programerske rutine

SOLIDay: Protiv programerske rutine

Iako je PHP Srbija već odavno organizacija uzorne ozbiljnosti, nije suvišno reći da je SOLIDay prevazišao sva moja očekivanja. Sve je bilo udešeno tako da sam, uprkos neprospavanoj prethodnoj noći, sa punom pažnjom mogao da slušam šest vrhunskih predavanja o arhitekturi PHP aplikacija.

soliday_main

To je tema kojoj, nažalost, retko posvetim punu pažnju dok rutinski kucam kod koji će zadovoljiti neposredne potrebe platežnog klijenta, da bih se par meseci kasnije, nad istim kodom, hvatao za glavu pitajući se „Kako ovo uopšte radi?“. Verujem da su i drugi ovo doživeli dovoljno puta, stoga želim da pozdravim ovu konferenciju kao više nego dobrodošlo podsećanje na posao planiranja koji prethodi svakom kucanju.

Prvo izlaganje, naslovljeno „Designing a Model Architecture“, održao je Šon Mekul. Kratak pregled MVC arhitekture poslužio mu je kao odskočna daska za pažljivije razmatranje modernijeg pristupa softverskoj arhitekturi na koji se i u srpskom jeziku najčešće referira njegovim engleskim imenom – Domain Driven Design. Naročitu pažnju posvetio je temama koje su se pokazale prožimajućim kroz celu konferenciju: dependency injection i decoupling, nakon čega je jasnim primerima pokazao kako izgleda jedan event system koji bi mogao da podrži aplikaciju zasnovanu na DDD principima.

Možda najbolji izlagač na ovoj konferenciji, Rob Alen, nadovezao se izuzetno konciznim i sveobuhvatnim predavanjem na temu „Getting Strated with Dependency Injection“. Nakon kratkog objašnjenja značaja brige o tom problemu koji se može sumirati dvema implikacijama: dependency injection -> loose coupling -> more maintainable code, predstavio je četiri tipa injekcije (constructor, setter, property i interface injection), među kojima je nesumnjivu prednost dao prvom, zaključivši ovaj deo izlaganja maksimom „Two-phase contruction is bad“. Drugi deo posvetio je paternima Dependancy Injection Controler (uz kratko predstavljanje „Pimple“ kontrolera) i Service Locator (koji je kritikovao po osnovu uvođenja skrivenih zavisnosti).

Rob Allen opravdao je reputaciju vrhunskog predavača (Foro: PHP Srbija)
Rob Allen opravdao je reputaciju vrhunskog predavača (Foto: PHP Srbija)

Treći izlagač doneo je više interakcije i malo sporiji tempo konferenciji. Matijas Veraes je, više u formi vežbe nego izlaganja, govorio o prednostima pakovanja promenljivih u Value Objects – objekte čiji je identitet konstituisan njihovom vrednošću i koji su otuda nepromenljivi te olakšavaju debugging i unose dodatnu preciznost u strukturu aplikacije.

Nakon pauze za ručak, usledilo je predavanje „Sylius under the Hood“ u kome je njegov kreator, Pawel Jedrzejewski, predstavio elemente njegove strukture “ispod haube”. „Sylius” je e-commerce platforma za Symfony framework, razvijena sa naročitom brigom o SOLID principima koji je čine vrlo modularnom – njene osnovne komponente razvijene su nezavisno od Symfony-ja i mogu se koristiti u bilo kom drugom okruženju. Projekat je open-source, brzo i opravdano stiče veliku popularnost i bez sumnje vredan svake pažnje.

pawel_php
Drugi blok predavanja otvorio je Pawel Jedrzejewski (Foto: PHP Srbija)

Jasna struktura koda kao imperativ

Posle toga, Marko Piveta, priredio je oluju kratkih i oštrih saveta za programere započevši smelom izjavom „Code is NOT reusable! (Abstractions are reusable)“. Mada poneki od tih saveta nisu u skladu sa uobičajenim početničkim lekcijama o objektno orijentisanom programiranju („No setters!“), ili nisu na prvu loptu intuitivni („Make classes final by default“), dok se neki direktno suprotstavljaju bitnim karakteristikama PHP-a („No mixed parameter types!“, „No mixed return types!“), izlaganje je bilo objedinjeno beskompromisnim insistiranjem na pisanju jasno strukturiranog koda koji ne ostavlja prostora za pitanja i dvosmislice. Istina, ovakav ekstremistički pristup može lako izazvati otpor, ali poziv na ispitivanje ustaljenih praksi je od neprocenjive vrednosti, pa predlažem Markov blog kao obaveznu literaturu svakom programeru.

U poslednjem predavanju, „Seven deadly sins of OOP“, Brendon Sevidž je kratko i jasno upozorio na česte mane objektno orijentisanog koda (tesno uvezivanje klasa, mnogostruke odgovornosti klasa, preterana apstrakcija, preopterećeni interfejs…) i ponudio alternativna rešenja problema koji obično vode ovakvim propustima. Iako je bilo taksativno, predavanje je poslužilo kao odličan rezime cele konferencije podsećajući nas na to da nije dovoljno da je kod organizovan u klase da bi se mogao nazvati objektno orijentisanim.

IT zajednica raste – i to je odlično

Prvi SOLIDay je završen panel diskusijom sa poslednja tri predavača (prva tri su intervjuisana pred pauzu za ručak) koji su napravili momci iz „IT Serbia podcast“, u kome smo čuli ponešto o njihovom angažmanu u programerskoj zajednici, open-source pokretu u Srbiji i drugim stvarima ne direktno vezanim za kod.

Ovakvi događaji do sada su, nažalost, bili relativno retki u Srbiji, ali SOLIDay je pokazao da se naša IT zajednica razvija u najboljem mogućem pravcu utvrdivši još jednom da programiranje zahteva stalno preispitivanje rutine i potragu za novim i boljim praksama.

Odgovori

Tvoja e-mail adresa neće biti objavljena.

Popularno

Tehnologija

Kako paušalci mogu pristupiti svom eSandučetu i poreskom rešenju za 2020. godinu?

Januar 2020. za preduzetnike paušalce doneo je još jednu novost – rešenje o porezu direktno u njihovo eSanduče. Međutim, sudeći po reakcijama preduzetnika, taj proces nije jednostavan kao što izgleda. O tome šta vam je sve potrebno kako biste pristupili rešenju o prispelim obavezama analiziramo u nastavku teksta.

Kultura 2.0

Predstavljamo rezultate istraživanja: Koliko srpske IT-jevce košta sedenje za računarom?

Rezultati naše online ankete u kojoj je učestvovalo ravno 700 profesionalaca koji rade u srpskom IT sektoru potvrđuju da dugo sedenje za računarom i savremen stil života ostavljaju posledice po zdravlje. Fokus ankete bio je na ispitivanju uticaja na koštano-mišićni sistem i prikupljanju informacija o najzastupljenijim načinima lečenja, prosečnim troškovima koje lečenje iziskuje, kao i o prevenciji u vidu fizičke aktivnosti.

Kultura 2.0

Da li je vaša AliExpress porudžbina bezbedna od korona virusa?

Sve oči svetske javnosti okrenute su ka Kini koja se, u ovom trenutku, bori sa širenjem smrtonosnog korona virusa. I dok čekamo da saznamo da li postoji rešenje za ovaj ozbiljan globalni zdravstveni problem, zapitali smo se - da li virus koji je par hiljada kilometara daleko može da se prenese i robom sa AliExpress-a?

Propustili ste

Kultura 2.0

4 poslovne lekcije koje sam naučio iz druge sezone Narcos Mexico

Oni su trgovci narkoticima, nemaju visoko obrazovanje i fensi MBA programe u svojim CV-jevima. Prodaju 'bijelo' za život, odrasli su na ulicama, nemaju stvarni dodir sa poslovnim svijetom i njegovim trendovim. Ili to samo tako izgleda?

Startapi i poslovanje

Nakon 10 godina u advertajzingu odlučili su da pokrenu restoran u Beogradu – zašto?

Tehnologija i hrana danas su nerazdvojni - kao meso i kiseli kupus. U priči koja sledi, otkrivamo kako je jedna beogradska agencija završila u food-tech vodama i upoznajemo vas sa novim konceptom restorana koji preti da u potpunosti promeni ovu industriju.

Kultura 2.0

Predstavljamo rezultate istraživanja: Koliko srpske IT-jevce košta sedenje za računarom?

Rezultati naše online ankete u kojoj je učestvovalo ravno 700 profesionalaca koji rade u srpskom IT sektoru potvrđuju da dugo sedenje za računarom i savremen stil života ostavljaju posledice po zdravlje. Fokus ankete bio je na ispitivanju uticaja na koštano-mišićni sistem i prikupljanju informacija o najzastupljenijim načinima lečenja, prosečnim troškovima koje lečenje iziskuje, kao i o prevenciji u vidu fizičke aktivnosti.

Tehnologija

Zašto je AI za nas i dalje kao tinejdžerski seks?

U misiji da demistifikujemo AI i konačno isteramo na čistac realne probleme i obesmislimo sav taj AI 'hype' organizujemo prvi internacionalni Brain Summit. Do tada, koje predrasude u vezi veštačke inteligencije vi imate?

Startapi i poslovanje

Beogradski Workpuls analizira efikasnost zaposlenih za preko 1.000 klijenata širom sveta

U trenutku kada se u mnogim kompanijama javlja dodatna potreba za optimizacijom radnih procesa i povećanjem efikasnosti, nameće se i potreba za savremenim alatima koji im u tome mogu pomoći. Jedan od njih je i Workpuls.

Startapi i poslovanje

Oh Monday poslaće vam svakog ponedeljka spisak ‘remote’ poslova u inostranim kompanijama

Usvajanje novih zakonskih odluka o paušalnom oporezivanju podiglo je ogromnu prašinu u IT zajednici. I dok jedni polako počinju da se prilagođavaju, drugi razmišljaju da li postoji način da ostanu u Srbiji a da rade za inostranu kompaniju - u čemu im može pomoći domaći projekat Oh Monday - nedeljni pregled poslova 'na daljinu' direktno u inbox.