Devo riscrivere una grande porzione di codice per renderlo più organizzato per la mia applicazione web? [chiuso]

1

Ho lavorato su un'applicazione LAMP (un social network), ho circa 4000 linee di codice e ho un prototipo funzionante. Ho imparato PHP in questo modo, e quindi non è programmato molto bene, e sto realizzando che avrei dovuto usare un framework MVC; o il mio, o meglio ancora, un pre-made come Laravel o CakePHP. Se ho intenzione di continuare a lavorare su questo progetto, dovrei tornare indietro e correggerlo?

    
posta user2350459 01.11.2017 - 04:26
fonte

2 risposte

2

In definitiva è una chiamata di giudizio. Ad esempio, se i tuoi requisiti funzionali sono ancora in qualche modo un obiettivo mobile, allora il refactoring potrebbe essere una perdita di tempo - in seguito, requisiti nuovi o modificati potrebbero suggerire un'altra decomposizione funzionale completamente diversa. Questo è quello che di solito mi succede al primo taglio di ogni nuovo progetto di sviluppo.

Un approccio più equilibrato potrebbe essere quello di "pasticciare" con il tuo codice per un po ', finché non avrai una sensazione abbastanza buona per la "destinazione" finale del progetto. Quindi puoi pensare meglio al modo migliore per arrivare a quella destinazione. Naturalmente, a quel punto potresti avere un "pasticcio" di codice (molto più grande) da refactoring. Questa è la parte chiamata al giudizio.

Il refactoring dovrebbe esprimere meglio la funzionalità come astrazioni riutilizzabili, cioè come astrazioni intuitivamente sensibili che possono essere composte in modo ragionevolmente semplice per implementare la funzionalità desiderata. Quindi, quando la funzionalità è sufficientemente definita e sufficientemente stabile da permetterlo?

Se ti rifatti troppo presto, dovrai ricominciare da capo o potresti essere tentato di vivere con il tuo primo, subottimale sforzo di refactoring. Qualsiasi scelta è cattiva, o sfortunata. In alternativa, come già accennato, il refactoring troppo tardi comporta la manipolazione di un caos più grande.

Ho fatto entrambe le cose. In effetti, non puoi davvero averlo esattamente nel modo giusto (se esiste una cosa del genere). Dal momento che stai facendo la domanda, suppongo che tu non abbia molta esperienza in questo genere di cose. E in tal caso, immagino che forse dovresti "fare un po 'di casino" un po' di più. Il refactoring al primo momento in cui l'idea attraversa la tua mente è (suppongo) probabilmente troppo presto. 4000 righe di codice possono sembrare molto, ma in realtà non lo è.

    
risposta data 01.11.2017 - 13:04
fonte
1

Certamente. Se stai solo imparando, è più importante che tu riscrivi il codice per imparare dai tuoi errori, invece di cercare di finire con la forza un sistema scritto male che compete con le migliaia di altri social network là fuori.

La filosofia "build one to throw away" funziona molto bene per l'apprendimento, meno quando si è finanziariamente dipendenti dal completamento del sistema.

Refactoring pesantemente (anche buttare via completamente le parti, 4000 LOC è nothing ) consente anche di identificare aree problematiche in cui sai di aver fatto le cose in modo maldestro, di porre alcune domande a codereview. stackexchange e migliora la qualità del tuo codice contemporaneamente all'apprendimento di un framework adeguato. Non sono uno sviluppatore PHP, ma credo che Laravel sia un framework popolare e ampiamente utilizzato.

    
risposta data 01.11.2017 - 08:13
fonte

Leggi altre domande sui tag