Questo deriva dalla mia esperienza, ma continuo a credere che possa essere applicato e va nella direzione di ciò che GlenH7 menzionato.
Lavoro tra 3 aziende che realizzano vari progetti. Le società sono sorelle l'una dell'altra con alcune pratiche standard e metodologia di lavoro, ma sono anche uniche in molti modi. Detto questo, in genere inizio ogni nuovo progetto e voglio solo farlo o mostrare progressi. Quindi se mi imbatto in uno scenario in cui ricordo un pezzo di codice o funzionalità che ho scritto per un progetto precedente, farò una delle due cose (in base al tempo):
-
Metodo più veloce
Copia il codice precedente dall'altro progetto (non ho molto tempo) nel mio progetto attuale.
-
Metodo secondo il più veloce
Copia il codice precedente e inseriscilo in una libreria comune, quindi includi quella libreria nel progetto corrente (per semplificare l'avanzamento).
2b. Se apporto delle modifiche all'altro progetto (originale), lo rifatterò per usare la nuova libreria [ma generalmente non lo farò a meno che non debba ri-toccare quel progetto].
Basta essere avvisati, prova il diavolo dalle librerie comuni. Le librerie comuni significano creare dipendenze. Le dipendenze creano punti di errore. Anche se potresti aver bisogno di qualcosa di ottimizzato per la tua implementazione attuale, non sai come cambierà qualcos'altro usando quella libreria.