8

些細ではないいくつかの機能を実装する必要があるとしましょう (少なくとも 1 週間かかります)。その機能を実装するための SDK の一部の使用法を示す (多数の) コード サンプルを含む SDK/API/ライブラリがあります。

「本物」を実装するためにそれらを使用するために、すべてのサンプルを学習し、必要な情報やテクニックなどを抽出する方法を教えてください。主な質問は次のとおりです。

  • 制御フロー、SDK の関数間の相互作用、およびサンプル自体を図式化するためのツールを使用していますか? どの種類の図が役に立つと思いますか? (この場合、UML シーケンス図はデバッガーと共に非常に役立つと考えていました)。

  • リファレンスとして使用する必要がある SDK/API 関数呼び出し、サンプル プログラムの一般的な構造と呼び出し順序に関する関連情報やしばしば相互に関連する情報を保持するにはどうすればよいですか? マインド マップ、いくつかのプレーン テキスト ノート、サンプル コードに追加されたコメント、学習を容易にするために、個人のコーディングスタイルに合わせてサンプルコードをリファクタリングしますか?

4

3 に答える 3

7

個人的には、プロトタイピング アプローチを使用します。管理可能なイテレーションまで開発を続けます。最初は、これらの反復は非常に小さいものです。その一環として、コードを捨ててやり直すことを恐れないでください (どこかでプロジェクト マネージャーが心臓発作を起こしたと私が言うたびに)。

特定のタスクを非常に小さな開始タスクに簡単または合理的に分割できない場合は、開始するまで代替タスクから始めてください。

ビルド、デプロイ、デバッグ、エラー メッセージの表示方法、最初に失敗する可能性がある単純なことなどを理解するためだけに、できる限りシンプルに (ことわざの「Hello world」) 維持する必要があります。

申し訳ありませんが、作図ツールを使用するところまでは行っていません (私の仕事では、その意味がほとんどわかりません)。

最初は何が起こっているのか、なぜ自分のしていることがうまくいくのか (またはうまくいかないのか) がわからなくても、何かを試し始めるとすぐにコツをつかむことができます。

于 2009-02-19T11:40:37.553 に答える
2

私は通常、例をコンパイルして変更し、自分で行う必要があることに適合させます。対応するドキュメントを使用して注釈を付けるときに、これを行う傾向があります。少し古い学校なので、図を描くのに通常使用するツールは鉛筆、または非常に複雑なものには 2 色以上の色のペンです。

于 2009-02-19T11:42:27.050 に答える
2

私は決してベテランのプログラマーではありません。実際、私は C++ を学んでおり、主に本から言語を学んでいます。たとえば、本から離れようとすると (LibreOffice のようなプログラムに貢献したいのでよくあります)、自分が道に迷っていることに気づきます。さらに、ライブラリの機能を使用している場合、ライブラリがどのように作成されたか、および/またはそのようにする必要がある理由を本当に理解していないため、実装が間違っています。サンプル ソース コードを見ると、何かがどのように行われるかはわかりますが、なぜそのように行われるのか理解できず、プログラムの設計が不十分になります。その結果、何かを行う方法を常に推測し、エラーが発生したときに対処しています。非常に非生産的でイライラします。

私の本のコメントに戻ると、最初から最後まで何度もカバーする準備ができている 2 冊の本は、Ivor Horton の Beginning Visual C++ 2010 と Starting Out with C++: Early Objects (7th Edition) です。Ivor Horton の本で私が本当に気に入ったのは、あることを特定の方法で行う必要がある理由が徹底的に説明されていることです。たとえば、Windows プログラミングを始める前に、まず Windows の仕組みについて多くの説明が行われました。物事が特定の方法でどのように、なぜ機能するかを理解することは、ソフトウェアの開発方法に非常に役立ちます。

それで、あなたの質問に答えるために私の 2 ペニーを寄付します。最良のアプローチは、よく書かれた本を手に取り、座ってそのライブラリ、API、SDK などについて学び始めることだと思います。構造化されたアプローチで、現実世界の例と、物事がどのように、なぜ実装されているかについての説明を提供します。それは。

あなたの質問を完全に見逃したかどうかはわかりませんが、そうではないと思います。

乾杯!

これは、このサイトでの私の最初の投稿でした。私を激しく引き裂かないでください。(:

于 2011-08-26T01:26:22.947 に答える