Costruire un progetto su una libreria non è mai gratuito, inclusa una libreria significa anche includere gli errori di quella libreria e le dimensioni del download.
A volte si può essere in grado di considerare la libreria un pezzo di codice indipendente che non ha bisogno di manutenzione e non conta realmente per la complessità del progetto, ma spesso non è così. Come sviluppatore professionista, l'unico modo in cui posso davvero giustificare l'uso di una piccola libreria trovata su Internet è se mi occupo di quel codice come se fosse il mio. Forse lo sviluppo originale risolverà un bug se trovo uno, forse non lo farà e dovrei farlo.
In definitiva una libreria inclusa fa parte della base di codice e come tale conta in modo negativo come qualsiasi altro codice. Può essere un buon codice relativamente privo di bug con un'interfaccia pulita che quindi non ha un peso molto relativo alle sue dimensioni, ma il peso non è mai pari a zero.
Se la libreria A
dipende dalla libreria B
quindi includere la libreria A
nel mio progetto aggiunge implicitamente il peso di entrambe le librerie.
Desideri sempre che una libreria sia il più leggera possibile, inclusa un'altra libreria che funzionerà quasi sempre contro questo obiettivo. In alcuni casi questo sarà un piccolo extra aggiunto per un grande vantaggio nel lavoro salvato, in altri casi è molto importante per pochissimi benefici.
Conclusione
Di solito dovresti evitare le dipendenze della libreria nelle librerie, ma ci sono casi in cui il rapporto costo / guadagno è basso ed è accettabile. Le seguenti condizioni, in generale, rendono più accettabile l'uso di una sotto-libreria:
- La libreria utilizzata è diffusa e generalmente ha pochi bug ed è ben supportata.
- Viene utilizzata tutta o la maggior parte delle funzionalità della libreria, se la funzionalità necessaria dovesse essere reimplementata, la dimensione combinata del codice non sarebbe molto più piccola per essa.
- La libreria si occupa di problemi che sarebbero difficili da risolvere senza di essa.