Cerco sempre di seguire il principio DRY rigorosamente al lavoro; ogni volta che ho ripetuto il codice per pigrizia, questo morde più tardi quando devo mantenere quel codice in due punti.
Ma spesso scrivo piccoli metodi (forse 10-15 righe di codice) che devono essere riutilizzati in due progetti che non possono fare riferimento a vicenda. Il metodo potrebbe avere a che fare con la rete / stringhe / MVVM ecc. Ed è un metodo generalmente utile non specifico per il progetto in cui si trova originariamente.
Il modo standard di riutilizzare questo codice sarebbe quello di creare un progetto indipendente per il codice riutilizzabile e fare riferimento a quel progetto quando ne hai bisogno. Il problema è che finiamo in uno dei due scenari tutt'altro che ideali:
- Finiamo con decine / centinaia di piccoli progetti, ognuno per ospitare le piccole classi / metodi che dovevamo riutilizzare. Vale la pena crearne uno nuovo
.DLL
solo per un po 'di codice? - Finiamo con un singolo progetto che contiene una raccolta crescente di metodi e classi non correlati. Questo approccio è quello che ha fatto un'azienda per cui lavoravo; avevano un progetto chiamato
base.common
che aveva cartelle per cose come ho menzionato sopra: networking, manipolazione di stringhe, MVVM ecc. Era incredibilmente utile, ma fare riferimento a esso trascinava inutilmente con esso tutto il codice irrilevante che non ti serviva.
Quindi la mia domanda è:
Come fa un team di software a riutilizzare meglio piccoli frammenti di codice tra progetti?
Sono particolarmente interessato se qualcuno ha lavorato in una società che ha delle politiche in questo settore o che si è imbattuto personalmente in questo dilemma.
nota: il mio uso delle parole "Progetto", "Soluzione" e "Riferimento" proviene da un background nello sviluppo di .NET in Visual Studio. Ma sono sicuro che questo problema è indipendente dalla lingua e dalla piattaforma.