phpBB back to the future
E così per almeno una settimana buona posso dimenticare libri e università . Tornato appena fuori dal full immersion durato un paio di mesi, ho deciso di rimettere un pò in sesto queste pagine e riorganizzare tutto. Nel frattempo ho iniziato anche a sviluppare l’applicazione per iPhone di cui vi parlavo giorni fa (in verità per ora si tratta di un framework comune sia per desktop che mobile) e, insieme all’amico Rommel, abbiamo finito di mettere a punto la prima parte del progetto OFAPI (qui inserisco le doverose scuse per il pessimo nome scelto).
OpenForum API è un insieme di API realizzate in PHP che permettono di comunicare con forum basati su phpBB (che rappresenta buona parte dei forum in rete) attraverso delle API (funzioni) che possono essere chiamate tramite XML-RPC (Remote Procedure Call), e quindi da qualsiasi client esterno (un pò come in Wordpress).
Durante lo sviluppo di OFAPI ci siamo necessariamente dovuti imbattere nella (contorta) comprensione del funzionamento del motore phpBB. Ora, benchè ci sia da premettere il fatto che nessuno dei due abbia avuto mai a che fare con altri motori di forum, possiamo comunque dire con (pacata) certezza che quel codice fa paura: vuoi un pò per PHP che fa minestra di codice e template (magari se siete nati programmatori web neanche ci fate caso… tutta la mia compassione), vuoi per il fatto che la struttura del forum non comprende un set di classi o anche solo di funzioni che possano essere chiamate anche da altri file esterni (il codice è messo all’interno dei file che lo usano come una lunga procedura in stile procedurale)… insomma è stato un vero incubo.
In verità ho anche provato a parlare con qualche sviluppatore interno ma senza ottenere grandi riscontri: alla domanda “ma perchè non avete fatto -almeno- delle funzioni anzichè appiccicare il codice così?” la risposta è stata “è più veloce”.
… Si, magari posso essere anche un pò d’accordo (anche se ho il forte sospetto che in termini pratici quel guadagno sarà comunque trascurabile), ma avete creato un mostro (da mantenere) solo per questo motivo? Poi probabilmente si è stizzito e mi ha lasciato senza una risposta.
Se qualcuno si sta chiedendo per caso come è la documentazione si metta l’anima in pace: le poche funzioni che sono documentate non coprono certamente la vastita del progetto (spesso e volentieri vengono listati i parametri ma senza speficarne l’uso) e i commenti al codice sono come pietre preziose… rare (ma soprattuto non preziose visto che in parecchi casi sembrano dei messaggi ad altri sviluppatori).
Insomma come progetto open mi aspettavo certamente una cura maggiore (lo stesso OFAPI, è doveroso ammetterlo, soffrirà parecchio di questa fragilità … in pratica modifiche interessanti al codice del core dovranno essere riportare in ofapi che in diversi casi non fa altro che duplicarle). Spero invece che vbulletin sia curato maggiormente da questo punto di vista.
Tutto il mio rispetto per un progetto così famoso ed usato… ma per pietà fate un passo in avanti, gli anni del PASCAL sono finiti da un pezzo (con tutto il rispetto per il PASCAL).
Alex
A volte il problema è il tempo comunque credimi che c’è di peggio.
Il programmatore perverso e precedente dove lavoro io adesso mi ha lasciato siti dove le percentuali vengono calcolate su stringhe e funzioni contorte e totalmente inutili.
Ti faccio una metafora:
Pippo: “Sono a Garbatella come faccio ad arrivare a Termini?”
Alex: “Devi prendere la metro B, poche fermate e arrivi”
Programmatore perverso “Vai a Fiugi poi torna a qui a Garbatella vai dalla parte opposta a Termini per poi prendere l’aereo a fiumicino fino a Monaco e poi vai verso casa di Malcom a bussare alla sua porta e poi boh… torna a Roma a S. Paolo e prendi la metro… una qualsiasi…”
malcom.mac
Il fatto è che comunque magari da un progetto closed te lo aspetti, ma da qualcosa open (dove in *teoria* dovrebbe prevalere la collaborazione) magari un pò meno. Il fatto è che probabilmente queste scelte sono meno democratiche di quanto si può pensare, così invece di ritrovarti le migliori idee, hai a che fare con le migliori idee secondo il capoccia di turno.
Addipilkifyix
Hello. It is test.