Il Tue, 27 Nov 2012 10:54:28 +0100, Marco Albarelli (fu Motosauro) @fisso
ha scritto:
> non
> parlo in termini di prestazione, parlo in termini di manutenibilità del
> codice
Penso sarai d'accordo che la manutenibilità del codice dipende da
altro. :)
OK che una stringa {{var}} è gestita meglio da sistemi come Dreamweaver,
ma per mia esperienza difficilmente riesci a dare in mano a un cliente i
template da modificare.
Non tanto per la difficoltà dell'HTML, ma perché ormai non mi succede da
oltre 4 anni di avere tutto in un singolo file.
E` tutto sparso in diverse partial view, che vengono montate dai
controller a seconda di cosa deve apparire. E sempre più spesso l'HTML è
talmente generico che fanno tutto i CSS.
La "vecchia" figura del webmaster (o come lo chiamavano) che sapeva un
po' di grafica, un po' di Dreamweaver e un po' di HTML non saprebbe
nemmeno dove iniziare a metterci mano.
> Dato che sono un freelance per me è molto importante lasciare il
> cliente con un codice che sia mantenibile anche da uno che non si sia
> smazzato sei mesi di lettura di spaghetti code
Io ho fatto solo un paio di siti da freelance, ma in entrambi i casi non
ho lasciato il codice al cliente. Gli ho dato la disponibilità di un dump
del DB e delle immagini, ma il codice rimane comunque mio, perché
utilizza componenti che ho costruito nel tempo, e che uso per tutti i
miei progetti.
Se dovessi dargli anche la disponibilità del sorgente dovrei farlo pagare
almeno il triplo. Una volta per il lavoro, una volta per il codice che
diventa suo, e una terza perché dovrei fargli tutti i template "stupid
proof". :)
> Che i template engine pesino siamo d'accordo, ma secondo me non pesano
> quanto dici tu e comunque sia rendono il codice più mantenibile
> Del
> resto anche l'OOP è orientata solo ad una maggiore manutenibilità da
> parte degli esseri umani Una macchina col procedurale ci sguazza
OK, ma la differenza, secondo me, non giustifica il peso.
Programmare OOP fornisce un'astrazione e una possibilità di
"componentizzazione" che è impossibile raggiungere con la programmazione
procedurale, a meno di non avere funzioni con nomi lunghissimi (qualcuno
ha detto ObjectiveC? :P)
Usare un template engine invece di semplici view con PHP embedded (e
autolimitandosi sui tag) non offre nessun vantaggio, ma solo svantaggi.
Naturalmente non parlo di infilare connessioni al DB o richiami alla cache
nelle view. Parlo di un motore di view alla Zend_View.
>> Se poi i tramaccioni ne abusano, sono cavoli loro. Nessuno sano di
>> mente metterà mano al loro codice, e quando si troveranno a modificarlo
>> saranno comunque cavoli loro (o del poveraccio che viene assunto e
>> pagato per sistemare i casini, ma vuol dire che verrà pagato più a
>> lungo. :)
> Mi viene da piangere .... :'(
> Non infierire ti prego
OK, spero di non aver già infierito troppo qui sopra. :D
Ma permettimi di aggiungere che se uno è incapace (sia nel senso "non è
ancora capace" che nel senso "non sarà mai capace") inizierà dritto
mettendo l'html dentro i print/echo.
Un motore di templating come twig o smarty sarà solo uno scoglio in più
che non farà altro che rallentare il suo apprendimento.
Lo so perché è successo a me! :)
Ai tempi in cui tutti usavano smarty continuavo a scaricare ogni nuova
versione e ripromettermi di leggere il manuale, ma poi non lo facevo mai,
perché non avevo tempo di imparare quello che in effetti era un nuovo
linguaggio. Avevo già abbastanza difficoltà a stare dietro alle novità di
PHP, HTML, CSS, per non parlare di Javascript e SQL.
Ancora oggi PEAR e PECL quasi non li uso perché non ho voglia di
sbattermi a capire come impostare gli include path o di andare a cercarmi
i componenti e capire se mi vanno bene.
Uso un framework perché mi facilita enormemente il lavoro, ma se (come
sta facendo ZF2) mi serve più tempo a imbastire il progetto che a farlo,
passo ad altro.
Idem coi template, IMHO. :)
Bye.