Quando passare a un progetto mid-quadro ha senso?

2

Alcuni dei miei amici e io abbiamo avviato un progetto PHP alcune settimane fa. All'inizio, ho suggerito di utilizzare un framework PHP come CodeIgniter o Zend. Ma i miei amici volevano iniziare pulito e senza sovraccarico o complessità extra.

Ma con il passare del tempo, il progetto è diventato sempre più complesso. All'inizio, abbiamo scritto tutto il codice nei file di visualizzazione, in blocchi di codice prima dell'output HTML. Alla fine, abbiamo cambiato direzione e abbiamo iniziato a utilizzare i controller che hanno svolto gran parte del lavoro. Ma come puoi vedere qui c'è una differenza di codice.

A questo punto, stiamo cercando di determinare come procedere prima che il progetto diventi più complesso. Quando ha senso ricominciare e usare un framework? Oppure è possibile formulare un modo semplice per introdurre un pattern MVC sul nostro codice esistente senza dover ricominciare da capo?

    
posta LostMohican 27.09.2011 - 22:46
fonte

3 risposte

1

Ugh. Questa è una domanda complicata con cui ho sempre lottato. I miei primi progetti sono iniziati come i tuoi. Abbiamo finito per fare riscritture complete di circa 2 anni in ciascun progetto, indipendentemente dal fatto che avessimo voluto o meno. Io consiglierei di fare la cosa dolorosa ora, o di pianificare di farlo in un momento prestabilito.

Il bello del passaggio a un framework è che solitamente venivano forniti unit test, il che ci consentiva di spostare il codice esistente mappando gli input e gli output esistenti nel framework di test delle unità. Il test delle unità personalmente mi annoia come programmatore, ma è uno strumento fantastico per passare dalla "versione 0.1" alla "versione 1.0" di un progetto.

La maggior parte dei framework più grandi che ho usato (Zend e Symfony) hanno modi semplici per includere javascript personalizzati nelle loro viste - sia in forma di libreria o in linea nelle viste. Non penso che dovrebbe essere una preoccupazione.

La domanda più grande è se interrompi lo sviluppo per far ruotare le tue funzionalità in un framework, o se dovresti provare ad integrare pezzi del framework mentre procedi. Non ho mai visto i primi funzionare bene; diventa noioso (per me). Quest'ultimo non funziona bene con Symfony ma funziona alla grande con Zend.

    
risposta data 27.09.2011 - 22:52
fonte
1

La maggior parte delle volte la percezione di un "onere" aggiuntivo o di un sovraccarico nell'utilizzo di una struttura web riguarda il tempo aggiuntivo necessario per apprendere il framework. Ma non possiamo dire cosa significa veramente il tuo amico "iniziando a pulire". Sta semplicemente contro le soluzioni black-box?

Così tanti framework PHP usano il pattern MVC, che ti lascia molte opzioni. Il tempo necessario per ricercare e sperimentare il più popolare per vedere quale si adatta meglio alle tue esigenze potrebbe essere preobabilmente meno costoso del tempo necessario per eseguire il rollover. Almeno allora puoi avere un'idea migliore se le tue funzionalità proposte avrebbero davvero bisogno di un framework personalizzato o meno.

    
risposta data 27.09.2011 - 23:04
fonte
1

Quando puoi rispondere SÌ a una qualsiasi di queste domande:

  • Ci vorrà uno sforzo maggiore per rimanere sul tuo percorso, piuttosto che tornare indietro e cambiare i quadri.
  • Ti rendi conto che la tua attuale implementazione non supporta una funzione richiesta di cui non puoi fare a meno.
  • È più economico tornare indietro e cambiare piuttosto che mantenere il percorso corrente. (Simile al primo.)
  • Non hai una data di consegna e vuoi solo provare qualcosa di diverso.

Quando non dovresti farlo:

  • Quando perderai una data di consegna a causa della modifica. Che cosa fare: consegnalo come hai pianificato, quindi modificalo. Potrebbe essere più costoso tornare indietro e perdere una data di consegna, piuttosto che modificarla in un secondo momento e renderla versione 2.
risposta data 27.09.2011 - 23:56
fonte

Leggi altre domande sui tag