Quale strategia utilizzare quando si aggiorna una dipendenza [chiusa]

1

Sto lavorando su un'applicazione che funziona con una vecchia versione di una dipendenza. A causa di una recente richiesta di modifica, è necessario eseguire l'aggiornamento a una versione più recente.

Ho la possibilità di non eseguire l'aggiornamento alla versione più recente e l'aggiornamento a una versione intermedia perché la funzionalità richiesta è disponibile nella versione intermedia (se eseguo l'aggiornamento alla versione più recente, la modifica sarà molto più grande). Quale approccio dovrei prendere in questo scenario? Dovrei passare all'ultima versione o alla versione intermedia? E se eseguo l'aggiornamento a una versione intermedia, dovrei passare alla versione massima compatibile con la base di codici o alla versione minima che ha la funzionalità di cui ho bisogno?

Per aggiungere più contesto, la libreria è POI Apache. L'applicazione dipende da 3.10.1 e l'ultima è 3.14. Sebbene la modifica della versione sia una modifica della versione secondaria, a causa di alcuni refactoring (classi spostate / rinominate) le modifiche non sono retrocompatibili.

    
posta Can't Tell 04.03.2016 - 15:09
fonte

1 risposta

3

In genere ti consiglio di mantenere aggiornate le tue dipendenze.

Dalla mia esperienza personale arriva un punto in cui avrai bisogno di una nuova versione di una dipendenza esterna. A volte ci si imbatte in un bug, a volte si tratta di prestazioni e in alcuni casi sono necessarie (o desiderate) funzionalità dalla versione più recente per l'applicazione. Ci sono molti motivi per cui a un certo punto dovrai migrare a una versione più recente.

Se hai trascurato di tenere il passo con loro fino a quel punto, devi affrontare molte modifiche (potenzialmente) di rottura. È molto più facile passare attraverso le note di rilascio o gli elenchi di modifiche che vanno dalla versione precedente alla versione più recente, invece di dover lavorare su tre o quattro versioni precedenti, vale la pena di funzionalità e correzioni di errori e modifiche potenzialmente interruzioni.

Le dipendenze esterne dovrebbero avere un qualche tipo di test automatico eseguito su di esse dalla tua applicazione in modo da poter essere sicuro che nulla nelle interruzioni dell'applicazione. Avere questi test riduce il dolore mantenendo le tue dipendenze.

L'unica eccezione a questa sarà probabilmente le applicazioni che non vengono più attivamente sviluppate. Ma finché il codice viene scritto per un'applicazione, le dipendenze dovrebbero essere aggiornate.

    
risposta data 04.03.2016 - 16:59
fonte

Leggi altre domande sui tag