Odpověď na názor

Odpovídáte na názor ke článku Jet - nový PHP8 framework #2 - Jak se s tím pracuje?.

  • 31. 10. 2022 20:03

    Lugaš

    Oceňuji vaši odvahu jít s kůží na trh. Konkurence je velká a každý druhý kolega vám řekne že php frameworků už je dost a není potřeba vyrábět další. Chápu vás, sám mám svůj php framework v šuplíku. Tedy nemám ambice jít s tím ven, říkám si, alespoň zatím, už od roku 2012. Mám to spíš jako cvičení, jednou dvakrát za rok tam něco přidám upravím, naučím se nějaký nový postup, přemýšlím o architektuře a často ji měním, aby vše fungovalo co nejlépe a bylo to pochopitelné (a to my myslím dáte za pravdu, celý framework, to není žádná brnkačka).

    Nicméně, pár doporučení bych měl:

    • přidejte composer, vyřeší za vás autoload a je nutný pro další věci
    • přidejte jednotkové testy - phpunit / codeception (neotestovaný framework nikdo seriozně používat nebude) nejde jen o aktuální stav testy vám pomohou i s vývojem a zjištěním že nová verze něčeho nerozbije něco jiného a slouží i jako dokumentace, jak jste zamýšlel tu kterou věc používat
    • přidejte statickou analýzu phpstan/psalm, spustil jsem ji nad frameworkem bez striktních pravidel a v těch 900+ souborech je 3000+ chyb a to mnohdy zbytečných, namátkou jsem prošel pár souborů a je na tom vidět že typovost se přidávala postupně, na mnoha místech se kontroluje něco co tam ani nemůže být, protože kód dříve spadne na typehintu, někde zase zybtečně nullpointer, atd.. je na tom vidět že to moc lidí nepoužívá, pokud je ten systém opravdu modulární a někdo napíše nový modul nebo prostě bude chtít udělat něco trochu jinak než zamýšlíte a používáte vy, přestane to fungovat právě kvůli těmto chybám. (Někdo zavolá get dříve než set aby se ujistil že v property je null a už je to type error, protože returntype getteru neumožňuje vrátit null, zatímco property je nullable)
    • pokud to chcete někam posunout, bude potřebovat aby vám ostatní na githubu pomohli s opravami a novými funkcemi, a každý člověk formátuje kód jinak, teď je váš kód celkem konzistentní (i když ne 100%), ale ostatní vám budou dávat kód naformátovaný podle nich, takže formátování buď budete přepisovat, nebo tam budete mít nekonzistentní formátování, musíte zavést coding strandard (phpcsfixer/phpco­desniffer)

    Přeju hodně zdaru, muselo to dát spoustu práce (a spoustu ještě dá, tak to dělejte chytře).