ui42 na konferencii PHPCE 2018 v Prahe

PHPCE 2018 sa po predchádzajúcom ročníku v Poľsku konal v omnoho dostupnejšej, dá sa povedať až blízkej Prahe. Ako hlavná hviezda programu bol už dlhšie prezentovaný p. Rasmus Lerdorf, autor a realizátor myšlienky jazyka PHP. Nasadli sme teda do žltého vlaku a tešili sa na odborné prednášky.

Na úvod začnem tým, čím som naposledy skončil – celkovou úrovňou prednášok. Angličtina bola tentoraz v poriadku, no kvalita a pripravenosť niektorých prezentujúcich bola vzhľadom na vážnosť a veľkosť konferencie až príliš rozdielna. Výborné prednášky striedali nudné, roztržito komentované slajdy. Ale celkovo bola odborná a prezentačná úroveň omnoho lepšia ako minulý ročník.

Podľa skladby prednášok boli hlavnými témami tohto (môjho) ročníka:

  • Domain driven design
  • Statická analýza kódu, jeho čistota a „jednoduchosť“
  • Ďalšie smerovanie PHP

Domain driven design

Doména je slovo, za ktorým bežný užívateľ vidí URL adresu stránky. No pre analytika alebo programátora sa týmto pojmom označuje celé prostredie, pre ktoré vyrába softvérový projekt. Pri návrhu aplikácie je nutné čo najlepšie pochopiť fungovanie biznisu zákazníka a až potom začať programovať. Treba si zvyknúť na špecifické procesy a pojmy, prenášať ich aj do programátorského jazyka a naučiť ich celý pracovný tím. Celý tento súbor vedomostí o procesoch zákazníka sa pomenúva ako „doména“

People who hold knowledge seem busy, but they are just slowing down the team

Táto téma je obzvlášť aktuálna v dnešnej dobe frameworkov, nových JS technológií, machine learningov a ďalších podobných buzzwordov. Mnohých programátorov často viac zaujíma technológia ako doména, za výsledok svojej práce považujú kód a nie jeho aplikáciu. Niekedy stačí hodinová návšteva priamo u zákazníka a pár rozhovorov s používateľmi vašej aplikácie na to, aby ste pochopili, že najbližšie týždne by ste sa mali viac venovať napr. UX ako technológii...

Statická analýza kódu

Statická analýza je technika, pri ktorej vopred pripravené softvérové nástroje preskenujú napísaný kód a snažia sa v ňom nájsť nepresnosti a chyby ešte predtým, než sa kód spustí. Nezáleží pritom na tom, či je to vrámci nejakej aplikácie alebo na webovej stránke.

Nástroje na statickú analýzu sa spúšťajú ešte pred akýmikoľvek testami a približujú nekompilovaný jazyk PHP jeho „veľkým“ kolegom ako napr. JAVA. Odhaľujú riadok po riadku nesprávne priradenia parametrov, nekorektné volania objektov, funkcií a ich parametrov a mnoho ďalšieho. Časť z toho už celkom dobre robí kvalitné IDE ako napr. PHPStorm, ale nástroje ako napr. PHPStan alebo phan/phan toho dokážu omnoho viac.

Čokoľvek, čo automatizovane a univerzálne dokáže zlepšiť kvalitu kódu je nutné vyskúšať a prípadne zaviesť do praxe. Testy sú dobrá vec, ale je potrebné si uvedomiť, že je to ďalší kód, ktorý je potrebné napísať, udržiavať a v ktorom môžu byť aj chyby. Nástroj na statickú analýzu nakonfigurujeme, spustíme a vidíme výsledky.

Documentation is your love letter from history

A inak, bol som celkom rád, že tohto roku na prednáškach trochu odznelo neustále omieľané testovanie kódu na rôznych úrovniach. Všetci vieme, ako funguje, aké nástroje máme použiť, no nikto sa veľmi nezaoberá tým, ako napr. testy zavádzať do klientského vývoja pri desiatkach projektov alebo ako ich napr. efektívne udržovať.

Ďalšie smerovanie PHP

Pre mnňa jednoznačne najlepšia prednáška bola tá od spomínaného Rasmusa Lerdorfa na tému PHP 2018. Pred rokmi som ho už zažil vrámci inej konferencie a dosť výrazne ma jeho názor ovplyvnil v tom, ako jazyk PHP používam pri svojej kažodennej práci.

PHP je vo verzii nad 7.0 moderným a relatívne bezpečným nástrojom na tvorbu webových aplikácií. Má všetko čo potrebujete na to, aby ste postavili malý dynamický web pre penzión ale aj veľký eshop s predajom v desiatkach krajín. A čo nemá, to pravdepodobne nepotrebujete.

Páči sa mi jednoduchosť a priamočiarosť s akou autor PHP pristupuje ku každej inovácii. Veľa programátorov by malo z PHP najradšej striktne typový, kompilovaný jazyk. Niekedy si myslím, že je to preto, lebo viac ako doména, o ktorej som písal vyššie, ich zaujíma samotné programovanie. Mňa zaujíma výsledok. PHP je nástroj a nástroj sa ma používať čo najefektívnejšie. Musí byť rýchly, priamočiary, so strmou krivkou učenia, niekedy aj za cenu istej programátorskej „jednoduchosti“. Kto niekedy programoval v jazyku JAVA a chcel urobiť niečo „rýchle a rýchlo“, vie o čom hovorím.

PHP pripravuje veľa noviniek, s každou verziou nad 7.0 vždy stúpa rýchlosť spracovania o výrazné percentá, neustále sa zlepšuje bezpečnosť, nástroje na prácu, frameworky. Som presvedčený o tom, že pokiaľ bude smerovanie jazyka PHP aspoň čiastočne v rukách p. Lerdorfa, nedočkáme sa žiadných „vylepšení“, ktoré by z neho spravili „štandardný programovací jazyk“. PHP (Personal Hypertext Preprocessor) ním nikdy nebol a dúfam že ani nebude.

V poznámkovom bloku mám niekoľko nástrojov, ktoré chcem vyskúšať, v hlave niekoľko návrhových techník, ktoré určite použijem pri nových, ale aj existujúcich projektoch. To je znak dobrej konferencie, teda takej, ktorá vám ukáže niečo nové, čo ste ešte dovtedy nevedeli. Dobré ale je, že samotná Praha nepriniesla nič nové. Pivo, jedlo a jej atmosféra je stále rovnako výborná, ako pri každej návšteve tohto pekného mesta.

Zaujal vás tento článok? Chceli by ste sa informovať o PHP, konferencii, prípadne niečom inom? Napíšte nám a radi sa vám ozveme späť.