質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.07%

ライブラリのリファレンスってどのように見ればよいのでしょうか?

解決済

回答 2

投稿

  • 評価
  • クリップ 7
  • VIEW 2,841

gochuumonha

score 67

最近、C++のライブラリでOpenGL、wxwidgets、fbxsdkなどを個人的に学習しているのですが、どうも効率が良くないような気がしていたので皆様がどのように学習をしているのかお聞かせいただければと思い質問させていただきました。

大学でOpenGL(1.5)を学習したときには、日本語の教科書を見ながら教授が1つ1つの関数について丁寧に説明してくれたので難なく学習できました。

しかし自分で学習をしてみると、自分でリファレンスを読んで理解していかないといけません。OpenGL(2.1)を学習したときは、購入した日本語版赤本のおかげでだいぶはかどりました(床井先生のサイトも助けになりました)。また、wxwidgetsを学習したときは大量のサンプルコードが付随していましたので、それが学習の助けになりました。

しかし最近、fbxsdkの学習をしてみると、参考にできるサイトも少なく、本に至ってはほぼ存在しません。なので公式のドキュメントを読み進めていってるのですが、全然わかりません。

リファレンスというかドキュメントの見方がよくわからないので、どのように学習していけばよいのか教えてください。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

+7

fbxsdkに限らないドキュメントの読み方について書きます。

まず注意が必要なことは、ライブラリのドキュメントというのは多くの場合、正引きのリファレンスになっているということです。これは「機能があって、それに対して機能の説明がある」というものです。逆引きリファレンス(英語圏ではcookbookと呼ばれる)ですと「やりたいことがあって、その方法の説明がある」というものになりますが、これを公式で作っていることは少ないです(多少のサンプルはあっても、それは始めるために必要な程度)。

その上での読み方ですが、私は以下のようにしています:

  1. まず、Getting StartedやIntroduction、Motivation、Overviewといった項を読み、そのライブラリが何を目的としているのかを理解します。これは、自分が解決したい問題にライブラリ自体が合致するかを確認することも読む目的に含みます
  2. 次に、そのライブラリを使ったサンプルコード、チュートリアルを読みます。これによって、ライブラリの簡単な使い方を学びます。ただし、それはエラーハンドリングやコーナーケースを廃したものであることが多いため、この段階のコードをそのまま自分のプロダクトコードに持っていくと痛い目に合う可能性があります
  3. 次に、パフォーマンスや設計論拠(Design rationale)の項を確認し、たとえばデフォルトの使い方をしたときにパフォーマンス側に倒しているか安全側に倒しているかや、凝ったことをしたいときのためにカスタマイゼーションポイントがあるかなどを確認します
  4. それから、APIのリファレンスを読みます。リファレンスはまず、あまり整理されていないドキュメントであれば名前から機能を探すことになってしまいますが、なんとかして機能を探し出すことになります
  5. APIのリファレンスでは、以下のようなことを確認します。どのようなときにエラーが起きるか、パラメータの意味と値の範囲、そのパラメータを与えたことによってどのような結果になるのか(戻り値、入出力、オブジェクトの状態)などを確認します
  6. 歴史の深いライブラリであれば、ひとつの目的のために複数の解決方法が用意されている場合がありますので、それも探しましょう。それは個々のAPIのドキュメントに「こちらも参照」のように書いてある場合もあれば、書いていないこともあります。HistoryやRelease Noteといったページでバージョン間の更新内容によって「このような問題を解決するためにxx APIを追加」のように書いてあることもあるので、それも確認するとよいでしょう

それでもわからないことは、メーリングリストやStackOverflowなどで検索・質問することになるでしょう(開発者がそこを見ていることが多いからです)。
私が現時点で思いつくドキュメントの読み方はこんなところです。参考になれば幸いです。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/03/23 15:29

    回答ありがとうございます。
    リファレンスを眺めながら途方に暮れていたこともあるので、非常に参考になりました。
    コツコツ頑張っていこうと思います。

    キャンセル

+1

「学問に王道なし」というように
基本的にはサンプルを動かしつつ、リファレンスを見るしかないと思います。

fbxsdkについては全く知りませんが、
以下を見るとある程度サンプルがあります。
http://help.autodesk.com/view/FBX/2017/ENU/?guid=__cpp_ref_examples_html

あと以下のサイトは見たのでしょうか?
オートデスク デベロッパーネットワーク(ADN)
動画?やフォーラム等のリンクがあります。

また以下の記載があるのでより効率的に学習したのであればトレーニングを受けるのが
いいのではないでしょうか?

トレーニングとサポート
プロフェッショナルなカスタムサポートをご希望される際は Autodesk Developer Network をご検討下さい。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/03/22 00:11

    回答ありがとうございます。
    そうですよね。1つ1つ理解しながら進めていくしかないですよね。
    自分の学習に時間がかかりすぎるのは諦めて、コツコツ勉強していこうと思います。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.07%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る