Temos pavadinimas: WordPress, Shopify ir PHPFusion programuotojų bendruomenė :: PHP-Fusion ateitis

Parašė programuotuvas· 2021 Spa. 29 20:10:23
#19

Žmogus parašė:Tai kas gero nutiko su php-fusion per tiek laiko? Matau, kad githube yra branch "Andromeda", galvojau, kad bus kažkas įdomaus. Bet still spagheti code... https://github.com/PHPFusion/PHP...

Jie net branch'ams pavadinimus teikia kažkokius keistokus, o ne pagal nusistovėjusius standartus. Tad ar galima tikėtis normalaus kodo ten? Visgi čia tik vienas failas, ar ne? Gal jie kitur ten šaudo nerealius refactoring commit'us? Nelabai: https://github.com/PHPFusion/PHP...6329b7ee27 . Tiesiog jie išsitraukia kažkokius singleton'us, po to juos naudoja, kad parašytų utility funkcijas, kurias patys po to naudoja. Ir taip lipto antipattern'us ant antipattern'ų. Visgi gal tik čia taip negražiai? Na ne, panašu, tai yra tendencinga. Pvz čia maišomi concern'ai: https://github.com/PHPFusion/PHP...91ff06b194 . Ne paprasčiau būtų tiesiog naudoti kokį views'ą, kuris neturėtų jokių sąlygų, o po to jau logikoje atfiltruoti duomenis, kuriems tas views'as būtų pritaikytas (t.y. MVC, MVP, MVVM pattern'ai).

programuotuvas parašė:
<...>
Siūlau dar kartą paskaityti. Kažko apie ORM ir didelius insertus aš nieko kaip ir neakcentavau konkrečiai.


Pvz man nepatinka Doctrine, jog, norint padaryti didelį insert'ą į DB, reikia arba rašytis savo užklausą, arba šaudyti po vieną insert'ą, kas yra tiesiog neefektyvu ir neatitinka tos idealogijos, kuriam šis persistence layeris ir sukurtas.


Norėčiau šaltinio apie ORM ir mass insert

Na ten nieko ypatingo nerašiau, tiesiog manau, kad Doctrine kūrėjai labiau galėjo pasistengti su transakcijų optimizacija. Nes ką reiškia transakcija? Iš esmės išeina, kad tu pirma suformuoji užklausų paketą, o po to jį commit'ini, t.y. nurodai vykdyti. Tai Doctrine bent tuo metu, kai teko juo naudotis (tas buvo kažkur prieš 6mėn, nes mano stack'as kiek kitoks yra, tad galiu ir klysti), tai multiple insert'us tiesiog šaudo po vieną, o ne sudeda, pavyzdžiui, optimizuojant pagal duomenų bazės tipą. Pvz MySQL galima taip daryti:
INSERT A1
INSERT A2
arba, jeigu A1 ir A2 toje pat lentelėje randasi ir naudojami stulpeliai sutampa: INSERT A1, A2.




Aišku, galima stumti ant to fusion'o, kiek tik norime, galima tam ir galo nematyti, bet siūlyčiau pastebėti kelis dalykus. Ir jie labai paprasti:
1. PHP-Fusion pirmą versiją parašė žmogus, kuris pasivadino Nick Jones, Digitanium jo slapyvardis buvo. Tuo metu tai buvo tikrai fenomenalus programuotojas, iš kurio ir pats daug išmokau. Deja, jis mirė. Tad neliko pagrindinio šios idėjos kūrėjo dar tuomet, kai jis nebuvo perdavęs šios idėjos kažkam kitam. O ir fenomenalumas yra labai reliatyvus dalykas. Dabar tai vadiname spaghetti code, tada tai buvo superinis kodas, nes kiti rašė dar tragiškiau. Tas žmogus sugebėjo vos per kelias dienas perrašyti bug'ovą messages.php faile esantį kodą, kai pamatė, kad yra beviltiška ten lopyti visas spragas. Ir ne tik perrašė, bet ir išreleas'ino. Tai, mano manymu, yra neblogo developer'io bruožas. Kitas ten burtų apie mėnesio projektus, darytų krūvas meeting'ų, o tas tiesiog padarė darbą ir ramu buvo.

2. PHP-Fusion atsirado dar 2003 metais, jeigu ne dar anksčiau, nes aš pamenu, kad 2004 metais tai jau buvo kokia 5 ar 6 versija. Ir kiek matau github'e, yra kodo dar dabar iš 2003 metų. O to kodo ir tada buvo tūkstančiai eilučių. Nejau realu tikėtis, kad tokį kodą, kuriam beveik 20 metų, įmanoma vien open source iniciatyva išrefactor'inti? Aš tai abejočiau tuo, nes refactor'inimas yra juodas darbas, neretai ir ten, kur mokami pinigai, renkamasi geriau viską rašyti nuo nulio negu taisyti kodą, kuris jau kaip giltinė reikalauja grąžinti visas gyvenimo skolas.

3. https://github.com/PHPFusion/PHP...ntributors - kiek žmonių PHP-Fusion develop'ina. 38. Tai nėra daug, bet ir nemažai. Ar jie kažką tarpusavy derinasi, turi kassavaitinius meeting'us? Na ne. Ir kas tie žmonės? Kiek matau, tai nėra high level developer'iai. Didžioji dalis net nepraeitų atrankos ten, kur pats dabar dirbu, jeigu ne visi iš jų.

Tad, kaip ir minėjau, galima stumti kiek nori, bet PHP-Fusion tiesiog dabar neturi jokių sąlygų būti išgelbėtas. Norint išgelbėti tokį framework'ą reikėtų monstriškų pastangų. O visi rimti developer'iai šiandien, deja, to laiko turi labai mažai. Kaip ir aš pvz. Kada čia galiu prisijungti? Vos kartą per pusmetį ar rečiau netgi. ir taip yra, nes darbų belekiek. Atrodo, renkiesi tuos darbus, esi išrankus, bet vis tiek jie tave vejasi ir tik retkarčiais atsiranda daugiau laisvumo.

Redagavo programuotuvas· 2021 Spa. 29 20:10:52