PHPCE 2018 se po předchozím ročníku v Polsku konal v mnohem dostupnější, dá se říci až blízké Praze. Jako hlavní hvězda programu byl již delší dobu prezentovaný pan Rasmus Lerdorf, autor a realizátor myšlenky jazyka PHP. Nasedli jsme tedy do žlutého vlaku a těšili se na odborné přednášky.
Na úvod začnu tím, čím jsem naposledy skončil – celkovou úrovní přednášek. Angličtina byla tentokrát v pořádku, ale kvalita a připravenost některých prezentujících byla vzhledem k vážnosti a velikosti konference až příliš rozdílná. Výborné přednášky střídaly nudné, roztržitě komentované slajdy. Ale celkově byla odborná a prezentační úroveň mnohem lepší než minulý ročník.
Podle složení přednášek byla hlavními tématy tohoto (mého) ročníku:
- Domain driven design
- Statická analýza kódu, jeho čistota a „jednoduchost“
- Další směřování PHP
Domain driven design
Doména je slovo, za kterým běžný uživatel vidí URL adresu stránky. Ale pro analytika nebo programátora se tímto pojmem označuje celé prostředí, pro které vyrábí softwarový projekt. Při návrhu aplikace je nutné co nejlépe pochopit fungování byznysu zákazníka a až poté začít programovat. Je třeba si zvyknout na specifické procesy a pojmy, přenášet je i do programátorského jazyka a naučit je celý pracovní tým. Celý tento soubor vědomostí o procesech zákazníka se pojmenovává jako „doména“
People who hold knowledge seem busy, but they are just slowing down the team
Toto téma je obzvláště aktuální v dnešní době frameworků, nových JS technologií, machine learningů a dalších podobných buzzwordů. Mnoho programátorů často více zajímá technologie než doména, za výsledek své práce považují kód a ne jeho aplikaci. Někdy stačí hodinová návštěva přímo u zákazníka a pár rozhovorů s uživateli vaší aplikace na to, abyste pochopili, že nejbližší týdny byste se měli více věnovat např. UX než technologii...
Statická analýza kódu
Statická analýza je technika, při které předem připravené softwarové nástroje proskenují napsaný kód a snaží se v něm najít nepřesnosti a chyby ještě předtím, než se kód spustí. Nezáleží přitom na tom, zda je to v rámci nějaké aplikace nebo na webové stránce.
Nástroje na statickou analýzu se spouštějí ještě před jakýmikoli testy a přibližují nekompilovaný jazyk PHP jeho „velkým“ kolegům jako např. JAVA. Odhalují řádek po řádku nesprávná přiřazení parametrů, nekorektní volání objektů, funkcí a jejich parametrů a mnoho dalšího. Část z toho už celkem dobře dělá kvalitní IDE jako např. PHPStorm, ale nástroje jako např. PHPStan nebo phan/phan toho dokážou mnohem více.
Cokoli, co automatizovaně a univerzálně dokáže zlepšit kvalitu kódu je nutné vyzkoušet a případně zavést do praxe. Testy jsou dobrá věc, ale je potřeba si uvědomit, že je to další kód, který je potřeba napsat, udržovat a v kterém mohou být i chyby. Nástroj na statickou analýzu nakonfigurujeme, spustíme a vidíme výsledky.
Documentation is your love letter from history
A jinak, byl jsem celkem rád, že letos na přednáškách trochu odzvonilo neustále omílané testování kódu na různých úrovních. Všichni víme, jak funguje, jaké nástroje máme použít, ale nikdo se moc nezabývá tím, jak např. testy zavádět do klientského vývoje u desítek projektů nebo jak je např. efektivně udržovat.
Další směřování PHP
Pro mě jednoznačně nejlepší přednáška byla ta od zmíněného Rasmusa Lerdorfa na téma PHP 2018. Před lety jsem ho už zažil v rámci jiné konference a dost výrazně mě jeho názor ovlivnil v tom, jak jazyk PHP používám při své každodenní práci.
PHP je ve verzi nad 7.0 moderním a relativně bezpečným nástrojem na tvorbu webových aplikací. Má vše, co potřebujete na to, abyste postavili malý dynamický web pro penzion ale i velký eshop s prodejem v desítkách zemí. A co nemá, to pravděpodobně nepotřebujete.
Líbí se mi jednoduchost a přímočarost s jakou autor PHP přistupuje ke každé inovaci. Mnoho programátorů by z PHP nejraději striktně typovaný, kompilovaný jazyk. Někdy si myslím, že je to proto, protože více než doména, o které jsem psal výše, je zajímá samotné programování. Mě zajímá výsledek. PHP je nástroj a nástroj se má používat co nejefektivněji. Musí být rychlý, přímočarý, se strmou křivkou učení, někdy i za cenu jisté programátorské „jednoduchosti“. Kdo někdy programoval v jazyku JAVA a chtěl udělat něco „rychlé a rychle“, ví, o čem mluvím.
PHP připravuje mnoho novinek, s každou verzí nad 7.0 vždy stoupá rychlost zpracování o výrazná procenta, neustále se zlepšuje bezpečnost, nástroje na práci, frameworky. Jsem přesvědčen o tom, že pokud bude směřování jazyka PHP alespoň částečně v rukou pana Lerdorfa, nedočkáme se žádných „vylepšení“, které by z něho udělaly „standardní programovací jazyk“. PHP (Personal Hypertext Preprocessor) jím nikdy nebyl a doufám, že ani nebude.
V poznámkovém bloku mám několik nástrojů, které chci vyzkoušet, v hlavě několik návrhových technik, které určitě použiji u nových, ale i existujících projektů. To je znak dobré konference, tedy takové, která vám ukáže něco nového, co jste dosud nevěděli. Dobré ale je, že samotná Praha nepřinesla nic nového. Pivo, jídlo a její atmosféra je stále stejně výborná, jako při každé návštěvě tohoto krásného města.
Zaujal vás tento článek? Chtěli byste se informovat o PHP, konferenci, případně něčem jiném? Napište nám a rádi se vám ozveme zpět.