Osservando le tue risposte in molti dei commenti, non so se ti rendi conto che ciò che stai vivendo è abbastanza comune, in particolare quando lavori in campi di specializzazione in cui ci vogliono esperti di dominio (chiamiamoli scienziato) per capire come incorporare e personalizzare gli algoritmi per i problemi a portata di mano.
Piuttosto che lamentarsi dello scienziato e aspettarsi che cambino, renditi conto che non dovresti aspettarti che lo scienziato si preoccupi molto della "qualità del codice". Spesso è difficile convincere altri sviluppatori di software a preoccuparsi della "qualità del codice" e tanto meno di qualcuno i cui interessi principali risiedono nel dominio e non nella programmazione.
La tua destinazione dipende in gran parte dal grado di fiducia che lo "scienziato" ha nella tua capacità di comprendere il loro lavoro. Se hanno la certezza che puoi capire il loro codice e non lo confonderanno quando modifichi le cose, di solito non c'è un problema. Faranno affidamento sulla tua esperienza.
Tuttavia, se lo scienziato non vuole che tu modifichi il suo codice, è molto probabile che tu non abbia "guadagnato" ancora la sua sicurezza. In tal caso, invece di concentrarti sul fissare lo scienziato, dovresti concentrarti sul "riparare" te stesso. Quello che intendo con ciò è prendere provvedimenti per guadagnare la loro fiducia. Probabilmente il modo più semplice per farlo è il seguente:
Come parte del processo di test:
- Inizia a trasformare gli algoritmi in qualcosa di più facile da capire (ad es. Diagrammi, PDL, notazione matematica)
- Impara a capire gli algoritmi.
- Assicurati di identificare i casi limite.
- Chiedi allo scienziato se la tua rappresentazione "alternativa" semplificata è corretta
- E PIÙ IMPORTANTE identificare i problemi che hai riscontrato; E senza sembrare "accusatorio" dire qualcosa del tipo "Stavo guardando l'algoritmo e ho notato che XYZ dovrebbe fare questo o dovrebbe farlo?". Niente guadagnerà la loro fiducia meglio di questo proiettile.
Una volta che inizi a trovare bug e hai dimostrato interesse nella loro area di interesse, le probabilità diventano molto più alte che almeno ti permetteranno di iniziare a modificare il codice per renderlo più "professionale". Spesso non sentiranno nemmeno più la necessità di codificare un prototipo. Scriveranno semplicemente qualcosa in una di quelle notazioni "alternative" che hai insegnato loro (senza che nemmeno se ne accorgano) e avranno la certezza che capirai cosa significano.
In ogni caso, il mio primo tentativo sarebbe quello di offrire alcuni suggerimenti su come lo scienziato possa meglio aiutare a "comunicare" meglio per aiutarti; ma sembra che tu ci abbia provato. Quindi l'unico passo su cui hai il controllo è quello che fai. Guadagna la loro fiducia e quasi sempre l'esperto di dominio sarà sollevato dal passare la codifica a qualcun altro e non dovrà preoccuparsi di tutti i piccoli dettagli che vanno nella scrittura del codice. Preferirebbero di gran lunga concentrarsi sul miglioramento degli algoritmi.
A volte, tutto ciò che puoi fare è offrire un suggerimento e lasciarlo dopo. Non impressionerai il tuo capo o un anziano se continui ad arpiare per qualcosa che hanno già rifiutato o deciso di non voler fare, anche se hai ragione al 100%. In realtà, ciò danneggerà una relazione, che tu sia il suggeritore o il suggeritore. Concentrati solo su ciò che TU puoi fare per semplificare il tuo lavoro.