The only other option that I can come up with is to let developers
store the scripts in a special part of version control, in which there
is no quality control (much like GitHub Gists). The risk is that
others will not be able to use the code because they cannot find or
understand it.
How could this problem be solved? Or should it not be solved?
Il problema non può essere risolto.
C'è una grande differenza tra la condivisione del codice in base al passaparola quando senti che un collega si trova di fronte a una particolare difficoltà e lo condividi semplicemente inserendolo in una libreria a cui tutti hanno accesso.
La differenza è che, nel primo caso, stai interpretando il ruolo del creatore e del bibliotecario con conoscenza implicita del problema e del codice che hai, il che lo risolve, mentre nel secondo caso, quei ruoli non sono presenti.
I tuoi standard generali di codice possono essere progettati per eliminare il ruolo del bibliotecario nella tua azienda e assicurare che la biblioteca rimanga accessibile da tutti.
Con un enorme edificio di codice di lunga durata (come caratterizza la maggior parte dei prodotti software di base), il tempo e lo sforzo sono giustificati per preservare la capacità di più generazioni di lavoratori di continuare a lavorare con l'intero edificio. Nelle aziende con un elevato turnover di personale, una "generazione" di personale può essere ridotta a uno o due anni.
Ma ovviamente, il raggiungimento di questi standard "senza bibliotecari" ha il prezzo di un enorme dispendio di tempo e risorse per coloro che creano la biblioteca in primo luogo e richiede ancora tempo e sforzi significativi da coloro che in seguito verranno a utilizzare e navigare libreria (sebbene non lo stesso sforzo di ricreare da zero l'intero edificio, che potrebbe aver già richiesto più generazioni).
D'altra parte, la maggior parte di questi script veloci e sporchi verrà scritta per ottenere rapidamente operazioni semplici, magari su base una tantum. Non sono creazioni complesse o robuste.
Dici che "risparmiano tempo", ma naturalmente questo rimane vero solo quando non sono scritti secondo standard molto più elevati, senza bibliotecari. Sono le maschere di costruzione personali di coloro che le hanno create: le leve temporanee e l'impalcatura dello sforzo umano, non il prodotto finale durevole.
Dovrebbe essere possibile controllarli in controllo di versione, in modo che il creatore abbia un posto dove archiviarli e conservarli sistematicamente - ma dovrebbe anche essere chiaro che rappresentano il prodotto su cui il creatore ha ancora supervisione.
Se puoi leggere il loro codice e vedere immediatamente cosa fa, tanto meglio. Ma è la biblioteca personale del creatore e non sono tenuti allo standard che le altre persone devono essere in grado di vedere ciò che fa senza fare riferimento al creatore.
Questo non è un "rischio" a carico della squadra, tanto più che la disposizione degli effetti personali in casa è un "rischio" per coloro che potrebbero voler chiedere di prenderli in prestito. Al contrario, dover indicizzare l'intero contenuto della tua casa, disporli in un modo prestabilito e fornire un manuale di istruzioni per ogni articolo, è un serio rischio per il tuo uso efficiente in corso della casa.