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

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

新規登録して質問してみよう
ただいま回答率
85.48%
OpenGL

OpenGLは、プラットフォームから独立した、デスクトップやワークステーション、モバイルサービスで使用可能な映像処理用のAPIです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

2回答

5931閲覧

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

gochuumonha

総合スコア74

OpenGL

OpenGLは、プラットフォームから独立した、デスクトップやワークステーション、モバイルサービスで使用可能な映像処理用のAPIです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

1グッド

8クリップ

投稿2017/03/21 08:06

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

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

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

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

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

faithandbrave👍を押しています

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

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/22 15:24

編集2017/03/23 06:40
faithandbrave

総合スコア132

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gochuumonha

2017/03/23 06:29

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

0

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

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

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

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

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

投稿2017/03/21 14:48

hmmm

総合スコア818

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gochuumonha

2017/03/21 15:11

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問