ライブラリ構成のメモ書き
以前作成していた vec ライブラリをつくり直す改良するのにしたがって、ライブラリの構成も大幅に変えようと思うので、そのメモ書き。
大まかな作りは、boost や pstade なんか参考にする予定。
覚え書き
- バージョン管理
- 使用するのは自分ひとり(予定)
- テストコードの用意
- ドキュメントの用意
- lib や dll は生成しない
- 将来的に別のライブラリと統合するかも(matrix とか)
- boost は一部のみ使用する予定(でも、基本的に使わない予定)
目的
- ライブラリの作成(ライブラリを作る上でも流れを把握)
- バージョン管理
- テストコードとドキュメントの作成
ライブラリのコンセプト
多数存在するベクトル型に対し、互換性のある処理を行う為のライブラリ。
struct my_vec{ float x, y, z; }; my_vec vec; D3DXVECTOR3 d3dx_vec; lenght(vec); // ベクトルの長さを取得 lenght(d3dx_vec); // 同じ様な形で取得することが出来る
ディレクトリ構成
accelerator\ ├―accelerator │ └―vec ライブラリのソースコード └―libs └―vec ├―doc ドキュメント ├―example 使用例 └―test テストコード
テストコード
boost/test/minimal を使用して、テストコードを書く。
1つの *.hpp ファイルに対して、1つのテストコードファイル。
bjam を使って、複数のコンパイラで一気にテストを行う。
ドキュメント
html 形式で用意する予定だが、html でドキュメントを書いた事がないのでなんとも…。
そもそも html を殆ど触ったことがない。
wiki や ブログに書いて、html で出力するとかもありか?
もう少し調べる必要がある。
バージョン管理
バージョン管理は、Git で行う予定。
ただし、本格的に使ったことが無いので手探りになりそう。
ファイルのヘッダー
// accelerator-vec-library // Copyright (c) 2010 osyo-manga : http://d.hatena.ne.jp/osyo-manga/
boost と pstade 辺りを参考に。
特に意味はないですが形だけでも…。
と、まぁ色々と考えているのですが、考えるだけじゃ先に進まないので、ガシガシソースを書いて行こうと思います。
後から修正なんていくらでも出来るでしょうしね。
そんな訳で何もひとまず何も考えずに書いていくよー。