In generale, evito di reinventare la ruota se la funzionalità che desidero, o qualcosa di simile, esiste nella libreria standard della lingua che uso.
Tuttavia, se devo incorporare librerie di terze parti, si tratta di una sentenza in base a quanto è ampiamente utilizzata e stimata la libreria. Voglio dire, stiamo parlando di Boost o di Bob's Kick-ass String-Parsing Tools 1.0?
Anche se la biblioteca è generalmente ben nota e molto apprezzata in tutto il settore, è ancora una dipendenza di terze parti . I programmatori in genere pongono l'accento sulle virtù del riutilizzo del codice, mentre spesso sorvolo sul pericolo delle dipendenze. Un progetto con troppe dipendenze di terze parti rischia di crollare a lungo andare mentre lentamente si trasforma in un incubo di manutenzione.
Quindi sfruttare il codice esistente è buono - ma le dipendenze sono non buone . Sfortunatamente, queste due affermazioni sono in disaccordo l'una con l'altra, quindi il trucco sta cercando di trovare il giusto equilibrio. Ecco perché è necessario identificare le dipendenze accettabili . Come ho detto, qualsiasi cosa nella Biblioteca standard della lingua è molto probabilmente una dipendenza accettabile. Passando da lì, le biblioteche che sono molto apprezzate in tutto il settore sono generalmente accettabili (come Boost per C ++, o jQuery per Javascript) - ma sono ancora meno desiderabili rispetto alla Libreria standard perché sono > do tendono ad essere meno stabili rispetto alle librerie standardizzate.
Per quanto riguarda le librerie che sono relativamente sconosciute, (ad esempio l'ultimo caricamento su SourceForge) si tratta di dipendenze estremamente rischiose e in genere raccomando di evitarle nel codice di produzione, a meno che non si abbia familiarità con il codice sorgente per mantenerle da soli.
Quindi è davvero tutto un atto di equilibrio. Ma il punto è che basta dire ciecamente "Il riutilizzo del codice è buono! Reinventare la ruota male!" è un atteggiamento pericoloso. I vantaggi derivanti dall'uso del codice di terze parti devono essere valutati rispetto agli svantaggi dell'introduzione delle dipendenze.