いくつかのコメントであなたの回答を見ているとき、あなたが経験していることが非常に一般的であることに気付いているかどうかはわかりません。特に、専門家(科学者と呼んでみましょう)がどのように手元の問題に合わせてアルゴリズムを組み込み、調整します。
科学者に文句を言い、彼らが変わることを期待するのではなく、科学者が「コードの品質」にあまり気を配ることを期待すべきではないことを理解してください。他のソフトウェア開発者に「コード品質」を気にするのは難しいことです。もちろん、主な関心がプログラミングではなくドメインにある人は言うまでもありません。
ここからどこに進むかは、「科学者」が自分の研究を理解する能力に自信を持っているかどうかに大きく依存します。あなたが彼らのコードを理解でき、あなたが物事を修正するときにそれを台無しにしないという彼らの自信があれば、通常は問題はありません。彼らはあなたの専門知識に依存します。
ただし、科学者がコードの変更を望まない場合は、自信をまだ「得ていない」可能性が高いです。その場合は、科学者の修正に集中するのではなく、自分で「修正する」ことに集中する必要があります。それが私が意味することは、彼らの自信を得るための手段を講じることです。おそらくこれを行う最も簡単な方法は次のとおりです。
テストプロセスの一部として:
- アルゴリズムを理解しやすいもの(図、PDL、数学表記など)に変え始めます
- アルゴリズムを理解することを学ぶ。
- 必ずエッジケースを特定してください。
- 単純化された「代替」表現が正しいかどうかを科学者に尋ねる
- そして、あなたが発見した問題を最も重要に特定します。そして、「非難」とは言わずに、「アルゴリズムを見ていて、XYZがこれを行うはずなのか、そうするべきなのか気づいた」といったようなことを言います。この弾丸ほど自信が得られるものはありません。
バグの発見を開始し、それらの関心領域に関心を示した場合、少なくとも「プロフェッショナル」になるようにコードを修正し始める可能性が非常に高くなります。多くの場合、彼らはもはやプロトタイプをコーディングする必要性さえ感じないでしょう。彼らはあなたが彼らに教えたそれらの「代替」記法の1つで何かを書くだけで(彼らはそれを理解しなくても)、彼らはあなたがそれらの意味を知っているだろうという自信を持っています。
どういうわけか、私の最初の試みは、科学者がどのようにあなたを助けるために「コミュニケーション」をより良く助けることができるかについていくつかの提案を提供することです。しかし、あなたはそれを試したようです。ですから、あなたがコントロールできる唯一のステップはあなたがすることです。自信をつければ、ほとんどの場合、ドメインの専門家はコードを他の人に渡すので安心し、コードの記述に関わる細かい部分を心配する必要はありません。彼らはむしろアルゴリズムの改善に焦点を合わせていました。
時々、あなたができることは提案を提供し、それを後にすることです。たとえあなたが100%正しいとしても、上司や先輩が既に拒否したことややりたくないことを強調し続けると、あなたは感動しません。実際、これはあなたが提案者であろうと提案者であろうと関係を損なうでしょう。仕事を楽にするためにできることだけに集中してください。