AMSL ROS Style Guide

「AMSL ROS Style Guide」の編集履歴(バックアップ)一覧はこちら

AMSL ROS Style Guide」の最新版変更点

追加された行は青色になります。

削除された行は赤色になります。

 **AMSL ROS Style Guide
 >プログラムのスタイルを気にしない奴は,これまでろくに使えるソフトを作ってこなかったんだろう. By Bjarne Stroustrup (C++の開発者)
 
 
 AMSLのメンバーが作成したプログラムの再利用性,可読性,移植性を高めるために,以下
 のルールを制定しました.(2010/11/26)
 
 -&bold(){基本的にはROS C++ Style GuideとPyStyle Guideを順守する.}
 ROS C++ Style Guide: [[http://www.ros.org/wiki/CppStyleGuide>http://www.ros.org/wiki/CppStyleGuide]]
 PyStyle Guide: [[http://www.ros.org/wiki/PyStyleGuide>http://www.ros.org/wiki/PyStyleGuide]]
 
 
 -&bold(){スタック名(ロボット名),パッケージ名(モジュール名)はすべて小文字.二つの単語が連なる場合はアンダスコアでつなぐ}
 スタック名:
 Infant -> infant
 M6     -> micro6
 Roomba -> roomba
 
 パッケージ名:
 VO     -> visual_odometry
 
 
 -&bold(){パッケージ名の先頭にはそのプログラムを使用するロボットの名前を入れ,アンダスコアでつなぐ}
 例) 
 M6のホイールオドメトリのプログラム: パッケージ名 micro6_wheel_odometry
 InfantのVisual SLAMのプログラム: パッケージ名 infant_visual_slam
 
 
 -&bold(){パッケージ名と実行ファイル名は基本的に同じ名前}
 例)
 M6のホイールオドメトリのプログラムの実行: 
 (C++)    rosrun micro6_wheel_odometry micro6_wheel_odometry
 (Python) rosrun micro6_wheel_odometry micro6_wheel_odometry.py
 
 =例外=
 センサーサーバの場合は,実行ファイル名をパッケージ名と製品名をアンダーステアでつなぐ
 例)InfantのIMU(NAV420)のセンサーサーバの実行
 rosrun infant_imu_drivers infant_imu_drivers_nav420
 
 -&bold(){メッセージ名}
 メッセージファイル(*.msg or *.srv)は大文字始まり,大文字単語区切りです.
 例)
  Localization.msg
  AnglesFromIMU.msg
 
 なので,ヘッダのインクルードは例えば
  #include "infant_msgs/Localization.h"
 のようになります.
 
 -&bold(){トピック名}
 トピック名は必ず小文字にして下さい.
 また,関連するものをグループ化できるので,グループ化したいものは/を使用してつないで下さい.
 例えば
-/laser/top/scan
-/laser/top/pointcloud
+ /laser/top/scan
+ /laser/top/pointcloud
 のようになります.
 
 **プログラム内での命名規則
 
 
 ***変数名
 変数名は基本的に小文字で表現し,単語をアンダースコア「_」で繋ぎます.つまり
  int count;
  float anser_value;
  MyClass my_class;  // クラスのインスタンス
 などです.
 
 また,単語はなるべく省略せず,スペルアウトすることが望ましいです.
 変数名を読むだけで,何の値が入っているかが分かるようにするのがベストで,多少長くても構いません.
 理解が優先です.
 
 また,これは私はあまり使っていませんが,
 ポインタは「p」,参照は「r」,グローバル変数は「g」
 をつけたりする習慣もあるようです.
 
 ***関数名
 関数名は小文字から始め,単語の区切りに大文字を用いて,アンダースコアは使いません.
 ます.
  void function(int init_x);
  int clearValue();
  void getAngleFromSensor();
 とかです.
 
 引数は変数なので,変数名の規則に従ってください.
 
 ***型,構造体,クラス 
 構造体やクラス名などは,基本大文字から始めます.
 また関数命名規則と同じく,単語の頭は大文字とします.
  class PrintString;
  struct DataPoint;
 などなど.
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。