Devo aggiungere una libreria ai requisiti del mio progetto se questa libreria è già richiesta da altri requisiti? [duplicare]

0

Diciamo che ho una libreria "foo" e l'ho elencata come dipendenza del mio progetto. Ad esempio in Python ho il file dei requisiti che dice

foo==1.0

la libreria foo ha bisogno della libreria "bar" e la elenca come dipendenza. Ad un certo punto mi rendo conto che "bar" può essere utile anche per il mio progetto, e ho un'idea di chiamare direttamente alcune funzioni di "bar". Quindi aggiungo

import bar

da qualche parte nel mio codice progetto.

Dovrei aggiungere ora la libreria delle barre alle dipendenze del mio progetto? Se non lo aggiungo, il mio sistema di compilazione non si lamenterà della barra mancante perché la barra è già richiesta e installata da foo. Qual è la pratica consigliata in questo caso?

    
posta Pawelmhm 07.06.2016 - 15:48
fonte

1 risposta

1

Non farà male.

  • È esplicito. Affidarsi alle dipendenze di qualcun altro sembra un po 'come barare. funziona, ma è come se tu stia abusando della funzione dell'albero delle dipendenze.

  • Puoi rimuovere foo un giorno e rimanere molto sorpreso dal fatto che la tua app abbia smesso di funzionare per un motivo di dipendenza criptico.

  • Puoi aggiornare foo e la versione più recente potrebbe utilizzare una nuova versione di bar . sembra che gli sviluppatori di foo abbiano fatto un ottimo lavoro di migrazione del loro codice, ma il tuo utilizza ancora la vecchia versione di bar . In realtà, il nuovo foo potrebbe addirittura non utilizzare bar .

  • foo può utilizzare una vecchia versione di bar che non ha le funzionalità necessarie, quindi potresti essere interessato ad avere una dipendenza dalla versione più recente.

Tieni presente che se hai effettivamente bisogno di eseguire due versioni diverse dello stesso pacchetto all'interno della stessa app, potresti essere nei guai .

    
risposta data 07.06.2016 - 15:54
fonte

Leggi altre domande sui tag