Penso che la tua domanda non sia propriamente specifica per R, lo stesso problema si verifica spesso quando un gruppo di compagni di squadra ha del codice da condividere tra di loro, scritto in qualsiasi linguaggio di programmazione essi utilizzino. Con una quantità crescente di codice, raggiungono il punto in cui devono prendere in considerazione se continuano a condividerli lanciandoli liberamente in una cartella comune, o se utilizzeranno un meccanismo standard di packaging o libreria più rigido della lingua (almeno, per parti della base del codice).
La risposta a questa domanda è: "dipende" . L'utilizzo di meccanismi di packaging standard ha diversi vantaggi in merito a
-
forniscono uno standard per il controllo delle versioni e la gestione delle dipendenze
-
forniscono standard per la documentazione e la descrizione dell'API
-
trasferisci le dipendenze dal livello "per funzione" al "livello pacchetto", che riduce pesantemente il numero di dipendenze e le rende più gestibili
-
il meccanismo potrebbe fornire altri standard come la struttura del codice, i test, la documentazione, ecc.
Idealmente, questo dovrebbe rendere più facile per il team riutilizzare il codice.
D'altra parte, non lo ricevi mai gratis. Quando inizi a creare pacchetti, devi presentare un maintainer per ogni pacchetto, qualcuno che sta raccogliendo il codice sorgente per il pacchetto (e se necessario, apporta alcune modifiche editoriali), che decide cosa va lì dentro o cosa no, chi assegna un numero di versione al pacchetto e chi conosce approfonditamente il lato tecnico del meccanismo del pacchetto. Probabilmente il codice del pacchetto dovrà soddisfare un livello formale superiore di qualità rispetto al codice non confezionato (ad esempio, documenti e test aggiuntivi).
Quindi, se vuoi sapere se la tua squadra ha già raggiunto il punto in cui i benefici superano lo sforzo extra, non puoi semplicemente decidere questo confrontando gli script "30" e "60". Dipende dai fattori quante persone sono coinvolte nel tuo team nella scrittura e nella fornitura di script, da quanti li riutilizzano, quanto spesso avvengono cambiamenti, le persone nel tuo team hanno problemi nel trovare il codice esistente da riutilizzare, i problemi a capire come riutilizzare uno specifico funzione, problemi sulla risoluzione delle dipendenze e così via?
Quindi, se la tua squadra non ha problemi con l'approccio attuale, non fare nulla per ora. Se, tuttavia, vedi almeno alcuni dei problemi, ma non sei sicuro che la confezione li risolva, ti suggerisco di provarlo . Inserisci un po 'del codice corrente, il codice più riutilizzato in un pacchetto, pubblicalo nel tuo team e verifica se i benefici valgono il sovraccarico per il tuo team.