Il modo migliore per sviluppare nuove funzionalità e correggere eventuali bug per un sistema web su Windows [chiuso]

3

Sono una one man band e ho un contratto con un cliente per sviluppare e mantenere un sistema basato sul web su cui si basa. Questo è il primo progetto di questa taglia e tipo che ho fatto per chiunque altro, quindi mi sto ancora ritrovando un po 'in questo senso e non sono sicuro su alcuna pratica standard.

La situazione attuale è che il sistema live è ospitato su un VPS e ho una copia del sistema sulla mia macchina Windows locale con MySQL e PHP installati in modo da poter sviluppare nuove funzionalità localmente e quindi sincronizzare i file con il VPS una volta che li ho finiti. Funziona alla grande, tuttavia le complicazioni arrivano quando ci sono bug nel sistema - a quel punto non sono sicuro di cosa fare?

Al momento, ho creato un'altra copia locale del sistema allo scopo di correggere i bug, ma mentre questo consente di sincronizzare con il VPS senza anche sincronizzare le funzionalità incomplete, ciò significa che la versione del sistema che sviluppo le funzionalità su contengono ancora gli errori che ho risolto. L'unica cosa che posso pensare per risolvere questo è copiare manualmente le modifiche apportate nella versione di bug fixing, ma questo sembra abbastanza inefficiente e poco pratico una volta più di una persona che inizia a lavorare su un progetto (che spero sarà presto il caso ).

Apprezzerei se le persone potessero condividere le loro soluzioni a situazioni che potrebbero essere simili alle mie, poiché apprezzo che nessuna situazione è identica e che le persone potrebbero avere soluzioni diverse allo stesso problema. Per tua informazione, ho la priorità sulla correzione dei bug rispetto all'implementazione di nuove funzionalità.

    
posta Andy 23.10.2015 - 23:36
fonte

2 risposte

1

Il mio suggerimento sarebbe di ottenere un sistema di controllo della versione che consenta la ramificazione, ad es. Subversion e Git sono entrambi liberi che possono essere utilizzati, in modo da poter avere filiali per funzionalità, bug e rilasci in modo da poter ripristinare facilmente il tuo codice in vari stati.

Ecco alcuni link per aiutare con le basi:

Link di Subversion sulla ramificazione: link

Link Git sulla ramificazione: link

Lo metterei al più presto possibile in quanto ciò consente di eseguire il rollback delle modifiche oltre ad essere un modo ragionevole per andare avanti sapendo quale versione ha avuto quale bug e quali patch sono state applicate per quali rami, ecc.

    
risposta data 23.10.2015 - 23:58
fonte
1

Un sistema di controllo delle versioni è sicuramente quello di cui hai bisogno, ma non aspettarti che risolva automaticamente i tuoi problemi. Devi collaborare con le filiali di funzionalità e questo può essere un ulteriore sforzo, soprattutto quando si combinano correzioni di bug e nuove funzionalità. Pertanto, ti consiglio anche di imparare come funziona attiva / disattiva la funzionalità . Questo è un approccio alternativo (che funziona senza controllo di versione), che a volte causa meno sforzi, specialmente quando si sta sviluppando una nuova funzionalità con un piccolo "punto di ingresso".

Si noti che i rami di funzione e i pulsanti di attivazione presentano entrambi alcuni vantaggi e svantaggi, a volte il primo funziona meglio, a volte il secondo.

    
risposta data 24.10.2015 - 09:42
fonte

Leggi altre domande sui tag