3

仕事上、外部企業の独自のデータベース ソリューションを処理するために、外部企業の API を使用してコーディングする必要があります。残念ながら、彼らが提供するドキュメントは、適切な API ドキュメントというよりもサンプル ガイドに近いものであるため、エラー コード、メソッドの戻り値、例外などの詳細については非常に簡単です。

たとえば、クラスには .GetErrorCode() メソッドがありますが、どの番号がどのエラーと一致するかを文書化していないため、これらのエラー番号が何を意味するのかわかりません。多くの場合、メソッドは Object を返しますが、実際に返される Object の型に関するドキュメントはありません。私は彼らに適切な文書化を繰り返し求めてきましたが、彼らは上記のような詳細は妥当性の秘密だと考えているようです. それで、限られた、または場合によっては存在しないドキュメントを回避できるツールまたは方法はありますか。

私は Visual Studo 2005 を使用し、.Net の下で C# でコーディングしていることに注意してください。

そして、誰かが「API を使用しないでください」と答える前に、私はそうしなければなりません。それは仕事のためです。

4

5 に答える 5

6

厄介なシナリオ。私はそれを提案したくありませんが、難読化されていない場合は、リフレクターがあなたの友達かもしれません. いくつかの IP の問題がある可能性がありますが、この場合、API が何であるかを見つける唯一の実行可能な方法は、それを元に戻すことです。ただし、(.GetErrorCode() のようなメソッドから) これは P/Invoke の上にあるシムであると思われます。その場合、リフレクターでさえ多くの外部呼び出しを表示するだけです...

私が言える他の主なことは、それをどのように使用しようとしているのかをカバーする多くの単体テストを書くことです... そうすれば、間違っていると推測して何かが変わった場合、早期に知ることができます.

于 2008-10-17T12:24:57.820 に答える
3

それはあなたの状況によって異なります。API にお金を払っているのであれば、API の使用方法をより適切に文書化するよう会社に圧力をかけ続ける必要があります。

それがうまくいかない場合、私がすることは、開発中に独自のドキュメントを開始することです。ノート、個人用の Wiki (スクリューターン Wikiが思い浮かびます)、またはある種の電子文書を保管してください。他の人が言及したように、Reflector を使用してソースにたどり着くことができます (難読化されていない場合)。

独自のドキュメントを作成することは、あなたが探していたものではないかもしれませんが、実際のドキュメントを入手できない場合は、少なくとも何かを学ぶにつれて作成して、数か月 (または数年) 後に何かを導くことができるようにします。 API でビルドされたコードを維持しようとしている場合。

于 2008-10-17T12:33:13.733 に答える
3

コード サンプルを入手したり、元の開発者と話をしたりできない場合は、通常、Reflectorを使用して基になるコードを調べます。遅くて非効率的ですが、それしかできない場合もあります。

于 2008-10-17T12:24:30.287 に答える
1

頭に浮かぶ最良のツールには、電話と電子メールが含まれます。もっと有益な情報を提供してくれるまで、あちらこちらの人々を悩ませ続けていただければ幸いです... :(

于 2008-10-17T12:24:04.670 に答える
1

Reflectorを使用してソース コードを表示します。GetErrorCode メッセージの Enum を表示する必要があります。

ちなみにリフレクターは、宇宙史上最大のプログラムです。

于 2008-10-17T12:24:37.807 に答える