Sì. Dovresti rilasciare il tuo codice, probabilmente sotto la licenza CRAPL. L'obiettivo è costruire un futuro migliore e il tuo pessimo codice aiuterà le persone a farlo. Un avvertimento è che dovresti documentare come utilizzare con successo il codice abbastanza bene da consentire a qualcuno di avere una discreta possibilità di riprodurre i risultati pubblicati.
E, non preoccuparti: un po 'di codice di ricerca su cui ho lavorato era stato sviluppato da 5 postdoc di indifferente capacità di programmazione per una serie di progetti nel corso di circa 8 anni.
L'elenco delle variabili globali (solo i nomi) era di circa 4 pagine.
Circa un terzo di essi è stato utilizzato per impostare il comportamento predefinito per modificare la funzionalità che funzionava in un dato momento. Un altro 20% erano strutture di dati parallele - il che significa che memorizzavano approssimativamente gli stessi dati - e quindi funzioni nel codice estratte dalle strutture di dati più o meno a caso. Sì. A volte erano fuori sincronia. E a volte doveva essere fuori sincrono.
C'erano circa 50 versioni non documentate, memorizzate in porzioni casuali del server del gruppo - ognuna delle quali serviva almeno a uno scopo specifico - e solo un amministratore manteneva quegli scopi specifici nella sua testa. Era più comune che non avere persone che usavano la versione "sbagliata" per un determinato scopo.
L'uso di procedure ricorsive incredibilmente complesse, ad esempio, per scrivere un file, era standard. Seriamente, poche migliaia di righe per salvare i risultati dell'immagine.
Oh, e i resti di un tentativo macellato di risolvere una perdita di memoria (in realtà una figura invisibile) non creando mai una nuova variabile.
Oh, e il database, quel bel database. Circa la metà dei dati era inutilizzabile a causa di (a) errori di progettazione del database (b) errori di immissione dei dati (nei programmi automatici). Il codice per recuperare i file dal database era lungo diverse centinaia di righe di logica ... Il database stesso era anche così gentile da contenere molte copie degli stessi dati, molte delle quali con collegamenti interrotti tra le tabelle. Vincoli? No. Ho visto uno statistico passare dall'inquietudine alla paura fino alle lacrime fino all'abbandono del database entro un mese dall'affidamento del database ...
C'erano da 0 a 1 modi per utilizzare il software e recuperare i risultati corretti in un dato istante ...
E sì, c'erano gotos.
Oh, e nel tentativo di garantire operazioni opache e non deterministiche, una serie di calcoli è stata eseguita chiamando la GUI pulsanti con richiamate associate.
Circa il 90% di una data funzione non era, in modo abbastanza affidabile, rilevante per il risultato o per il debug del risultato, essendo composto, piuttosto, da progetti a breve termine inseriti e poi mai rimosso. Scherzi a parte, ho scritto una versione completa di funzionalità che funzionava effettivamente che era 1/10 della dimensione ... Le frazioni significative erano funzioni inserite con copia-incolla, molte delle quali differivano l'una dall'altra.
E, no Virginia, non c'è documentazione. O nomi di variabili descrittivi.
Oh, e le dll non documentate, difettose, e le librerie associate - generate usando codice che non esisteva più.
Tutto scritto in Matlab. In termini di pratiche di codifica Matlab, presumi che un uso abbondante di eval sarebbe il momento clou della tua giornata.
Seriamente, il tuo codice non è così male.
Detto questo, se hai fatto qualcosa di veramente utile, potrebbe migliorare la tua carriera rilasciare una versione ripulita in modo che altre persone utilizzino e citino la tua libreria. Se hai appena fatto qualcosa, probabilmente la riproduzione è fin dove ti consiglio di andare.