Duplicare il software e aggiungere funzionalità o mantenerne uno con funzioni versatili

1

Recentemente sono stato assunto e ho trovato due applicazioni esatte con un singolo servizio extra nella versione duplicata, e ovviamente ogni applicazione punta a separare i database.

Tuttavia, la versione originale aveva alcune vulnerabilità che ho bisogno di duplicare di nuovo sulla versione copiata.

Quindi, la domanda sollevata è: dovremmo mantenere un'applicazione e mostrare / nascondere le funzionalità, oppure la situazione attuale è quella giusta?

    
posta Mohamed Ennahdi El Idrissi 04.07.2016 - 07:43
fonte

2 risposte

2

Non dovresti mai duplicare codice complesso. Periodo. Il motivo principale è esattamente la situazione in cui ti trovi: Il software complesso richiederà modifiche (se correggere i difetti o estendere la funzionalità non ha importanza) e fare la stessa modifica due volte è più impegnativo e più soggetto a errori.

Quindi la cosa giusta da fare è sviluppare una base di codice one e distribuirla ovunque e comunque è necessaria per soddisfare i requisiti aziendali. Non c'è niente di sbagliato in più istanze di un programma in esecuzione più volte in un'azienda, su database separati, ecc. Tuttavia, dovrebbero essere sviluppati e mantenuti una volta e non più volte. Tutto ciò che implica la duplicazione dovrebbe essere parte di un processo di distribuzione automatizzato.

    
risposta data 04.07.2016 - 09:01
fonte
0

Sono d'accordo con ciò che @Killian Foth dice nella loro risposta. Vorrei aggiungere che in futuro potrebbe esserci un momento in cui la funzionalità richiesta dagli utenti delle 2 app inizia a divergere e si potrebbe essere tentati di rompere ancora una volta in 2 app separate. In un caso come questo, consiglierei di suddividere la funzionalità in librerie (eventualmente caricate dinamicamente, possibilmente statiche, a seconda delle esigenze specifiche di ogni app). Le varie librerie possono contenere il codice che è condiviso e possono ancora essere incluse in entrambe le app per ridurre il lavoro di manutenzione.

Si noti inoltre che in casi come questi spesso si desidera disporre di un meccanismo di controllo delle versioni in modo che i diversi gruppi possano tenere traccia della versione dell'app o di una determinata libreria attualmente in esecuzione. In questo modo se segnalano un bug che è stato corretto puoi vedere se stanno utilizzando una versione precedente e devi solo aggiornare per ottenere la correzione, o se in realtà il bug è regredito e riapparso.

    
risposta data 30.12.2017 - 18:51
fonte

Leggi altre domande sui tag