En examinant vos réponses dans plusieurs des commentaires, je ne sais pas si vous réalisez que ce que vous vivez est assez courant, en particulier lorsque vous travaillez dans des domaines de spécialité où il faut des experts du domaine (appelons-les le scientifique) pour comprendre comment incorporer et adapter des algorithmes pour les problèmes à résoudre.
Plutôt que de se plaindre du scientifique et de s'attendre à ce qu'ils changent, sachez simplement que vous ne devriez pas vous attendre à ce que le scientifique se soucie beaucoup de la «qualité du code». Il est souvent difficile d'amener d'autres développeurs de logiciels à se soucier de la «qualité du code» et encore moins de quelqu'un dont les intérêts principaux se situent dans le domaine et non dans la programmation.
La direction à suivre dépend en grande partie du degré de confiance du «scientifique» dans votre capacité à comprendre son travail. S'ils ont la certitude que vous pouvez comprendre leur code et qu'ils ne le verront pas lorsque vous modifiez des choses, il n'y a généralement pas de problème. Ils s'appuieront sur votre expertise.
Cependant, si le scientifique ne veut pas que vous changiez son code, il est fort probable que vous n'ayez pas encore "gagné" sa confiance. Si tel est le cas, plutôt que de vous concentrer sur la réparation du scientifique, vous devriez vous concentrer sur la "réparation" de vous-même. Ce que je veux dire par là, c'est prendre des mesures pour gagner leur confiance. La façon la plus simple de procéder est probablement la suivante:
Dans le cadre de votre processus de test:
- Commencez à transformer les algorithmes en quelque chose de plus facile à comprendre (par exemple, diagrammes, PDL, notation mathématique)
- Apprenez à comprendre les algorithmes.
- Assurez-vous d'identifier les cas de bord.
- Demandez au scientifique si votre représentation "alternative" simplifiée est correcte
- ET LE PLUS IMPORTANT identifier les problèmes que vous avez trouvés; ET sans sonner "accusateur", dites quelque chose comme "Je regardais l'algorithme et j'ai remarqué que XYZ est censé faire ceci ou est-il censé faire cela?". Rien ne gagnera leur confiance mieux que cette balle.
Une fois que vous commencez à trouver des bogues ET avez démontré un intérêt pour leur domaine d'intérêt, les chances deviennent beaucoup plus élevées qu'au moins ils vous permettront de commencer à modifier le code pour le rendre plus "professionnel". Souvent, ils ne ressentent même plus le besoin de coder un prototype. Ils écriront simplement quelque chose dans l'une de ces notations "alternatives" que vous leur avez enseignées (sans même qu'ils s'en rendent compte) et ils auront confiance que vous saurez ce qu'ils signifient.
Par tous les moyens, ma première tentative serait de proposer quelques suggestions sur la meilleure façon pour le scientifique de mieux "communiquer" afin de vous aider; mais il semble que vous ayez essayé cela. La seule étape sur laquelle vous avez le contrôle est donc ce que vous faites. Gagnez leur confiance et presque toujours, l'expert du domaine sera soulagé de transmettre le codage à quelqu'un d'autre et de ne pas avoir à se soucier de tous les petits détails qui entrent dans l'écriture de code. Ils préfèrent de loin se concentrer sur l'amélioration des algorithmes.
Parfois, tout ce que vous pouvez faire est de proposer une suggestion et de la laisser après. Vous n'impressionnerez pas votre patron ou une personne âgée si vous continuez à insister sur quelque chose qu'ils ont déjà rejeté ou décidé de ne pas faire, même si vous avez 100% raison. En fait, cela nuira à une relation, que vous soyez le suggérant ou le suggéré. Concentrez-vous simplement sur ce que VOUS pouvez faire pour vous faciliter la tâche.