Wenn ich mir Ihre Antworten in mehreren Kommentaren ansehe, weiß ich nicht, ob Sie erkennen, dass das, was Sie erleben, ziemlich häufig ist, insbesondere wenn Sie in Spezialgebieten arbeiten, in denen Fachexperten (nennen wir sie den Wissenschaftler) erforderlich sind, um herauszufinden, wie es geht Integrieren und Anpassen von Algorithmen für aktuelle Probleme.
Anstatt sich über den Wissenschaftler zu beschweren und zu erwarten, dass er sich ändert, sollten Sie sich nur darüber im Klaren sein, dass der Wissenschaftler sich nicht viel um die "Codequalität" kümmert. Es ist häufig schwierig, andere Softwareentwickler dazu zu bringen, sich um "Codequalität" zu kümmern, geschweige denn um jemanden, dessen Hauptinteressen in der Domäne und nicht in der Programmierung liegen.
Wohin Sie von hier aus gehen, hängt weitgehend vom Grad des Vertrauens ab, das der "Wissenschaftler" in Ihre Fähigkeit hat, ihre Arbeit zu verstehen. Wenn sie sicher sind, dass Sie ihren Code verstehen und ihn beim Ändern nicht durcheinander bringen, gibt es normalerweise kein Problem. Sie verlassen sich auf Ihr Fachwissen.
Wenn der Wissenschaftler jedoch nicht möchte, dass Sie seinen Code ändern, ist es sehr wahrscheinlich, dass Sie sein Vertrauen noch nicht "verdient" haben. Wenn dies der Fall ist, sollten Sie sich auf das "Reparieren" konzentrieren, anstatt sich auf das Reparieren des Wissenschaftlers zu konzentrieren. Damit meine ich, Schritte zu unternehmen, um ihr Vertrauen zu gewinnen. Der wahrscheinlich einfachste Weg, dies zu tun, ist wie folgt:
Im Rahmen Ihres Testprozesses:
- Fange an, die Algorithmen in etwas zu verwandeln, das leichter zu verstehen ist (zB Diagramme, PDL, mathematische Notation)
- Lernen Sie die Algorithmen zu verstehen.
- Achten Sie darauf, die Randfälle zu identifizieren.
- Fragen Sie den Wissenschaftler, ob Ihre vereinfachte "alternative" Darstellung korrekt ist
- UND AM WICHTIGSTEN identifizieren Sie Probleme, die Sie gefunden haben; UND ohne "anklagend" zu klingen, sagen Sie so etwas wie "Ich habe mir den Algorithmus angesehen und festgestellt, dass XYZ dies tun soll oder soll es das tun?". Nichts wird ihr Vertrauen besser gewinnen als diese Kugel.
Sobald Sie anfangen, Fehler zu finden UND Interesse an ihrem Interessengebiet gezeigt haben, steigen die Chancen erheblich, dass Sie den Code zumindest ändern können, um ihn "professioneller" zu machen. Häufig werden sie nicht einmal mehr das Bedürfnis verspüren, einen Prototypen zu codieren. Sie schreiben einfach etwas in eine dieser "alternativen" Notationen, die Sie ihnen beigebracht haben (ohne dass sie es überhaupt bemerken), und sie haben das Vertrauen, dass Sie wissen, was sie bedeuten.
Mein erster Versuch wäre auf jeden Fall, einige Vorschläge zu machen, wie der Wissenschaftler am besten helfen kann, besser zu "kommunizieren", um Ihnen zu helfen. aber es hört sich so an, als hättest du es versucht. Der einzige Schritt, über den Sie die Kontrolle haben, ist das, was Sie tun. Verdienen Sie ihr Vertrauen und fast immer wird der Domain-Experte erleichtert sein, die Codierung an eine andere Person weiterzugeben und sich nicht um all die kleinen Details kümmern zu müssen, die beim Schreiben von Code anfallen. Sie konzentrieren sich vielmehr auf die Verbesserung der Algorithmen.
Manchmal können Sie nur einen Vorschlag unterbreiten und es danach belassen. Sie werden Ihren Chef oder einen Senior nicht beeindrucken, wenn Sie weiter an etwas herumhupen, das er bereits abgelehnt hat oder das er nicht tun möchte, selbst wenn Sie zu 100% korrekt sind. Tatsächlich schadet dies einer Beziehung, unabhängig davon, ob Sie der Vorschlagende oder der Vorschlagende sind. Konzentrieren Sie sich einfach darauf, was SIE tun können, um Ihre Arbeit zu erleichtern.