開発者向け情報


コミットについてのルール

  • ビルドが通ってからコミットする.
  • 暫定コードには必ずコメントをつける.
    • たとえば: // hase 力覚インタフェース接続のための暫定コード  のように誰だか明示して.

ドキュメントについてのルール

  • ユーザマニュアルについて
    • Springhead2/include/SpringheadDoc.bat が生成するものをHTML版とする.
    • Springhead2/include/docsrc 以下に 手書きドキュメント(ユーザマニュアル,チュートリアル)を置く.
    • RTF版は,ページがファイル名順に並ぶので,ファイル名の前に00main.h 01intro.h など数字をつけて順番を定める.
  • リファレンスマニュアル
    • ソースにコメントを付けていく. @ ingroup defgroup を使う.
  • リファレンス名について
    \ref secPHScene などのリファレンス名はすべて共通なので,
    • 最初に小文字でリファレンスの種類(ページ:page,セクション:sec, グループ:gp)をつける
    • SDKごとにグループ化する.
    • Descは gpNode に追加する(FileIOのファイルのノードの説明になるので)
    • Sceneなど,他のモジュールとぶつかりそうな名前は避けて,PHSceneなどにする.(hase 提案)

コーディングについてのルール

APIの命名規約

  • APIクラス名
    • 最初の二文字は所属するライブラリの略称とする
      • 例: Physics → PH
    • 大文字始まりのラクダ記法とする。
      • ○:PHJoint ×:phJoint ×:PH_Joint
  • API関数名
    • 大文字始まりのラクダ記法とする。
    • 語順は動詞→目的語 の順とする。原則として英語に準ずる。
      • ○:CreateScene ×:SceneCreation ×:SceneCreate
    • 【議論中】以下については略称を用いる。原語が長く、かつSpringhead内で頻出するため。
      • 略称 : 原語
      • Pos : Position
      • Ori : Orientation
      • Comp : Compute
      • Calc : Calculate
      • Desc : Descriptor
      • Init : Initialize
      • Rot : Rotation
      • Trn : Translation
      • Num, N(接頭辞) : Number
      • Constr: Constraint
      • Sin, Cos Tan: Sine, Cosine, Tangent
      • Prev: Previous
      • (他に該当する物があったら追加して下さい)
    • 上記の特例を除き、略称は用いない。
      • ソースを読めばだいたいの処理内容が分かることを目的としている
  • APIで使用されるEnum
    • 型名は大文字始まりのラクダ記法とする。
    • 要素は全て大文字とし、単語間をアンダースコアでつなぐ。
      • ○:MODE_PENALTY ×:ModePenalty ×:modePenalty ×:mode_penalty
  • ステート・デスクリプタ
    • メンバ変数は小文字始まりのラクダ記法とする。
      • ○:numIteration ×:NumIteration ×:num_iteration