http://opensource.adobe.com/wiki/display/flexsdk/Coding%20Conventionsを自分用にまとめた。記述書式編。
行あたりの幅
80行とする。いつものアレですね。比較ユーティリティで並べることが出来るよね、それってクールだよね。とか言われると納得。
インデント
4文字のスペース。wonderflでは自分ルールで最近2文字。
区切り
ASDOCとは別の何か。セクションを分けて見易くするするための記述。
ちょうど80文字になる良い感じの幅で記述
//-------------------------------------------------------------------------- // // Overridden methods とか。 // //--------------------------------------------------------------------------
更にセカンドセパレータとしては以下のような感じ。
セカンドパラメータは、ちょうど40文字になる良い感じの幅で記述
//---------------------------------- // visible //----------------------------------
宣言の分離
定数、変数および関数宣言の間には、縦方向のセパレータとして空白行を1行配置
配列のインデックス
左側の角括弧の直前、直後、および右側の角括弧の直前には半角スペースを入れない。
trace(a[0]); // a[ 0 ] としない
カンマの後にはスペースを入れる
var sp:Shape = new Shape(); sp.graphics.drawRectangle(0, 0, 100, 100); // (0,0,100,100)としない
Arrayリテラル
最初と最後にスペースを入れる
var hoge:Array /* of Number */ = [ 0, 1, 2, 3 ]; // [0, 1, 2, 3]としない
ただし空は特別
var hoge:Array = [];
長い場合はまた別
var hoge:Array /* of String */ = [ "ゼロ番目の何かですよ", "1番目のアレ" ];
型宣言ではスペースを入れない
var hoge:String = ""; // var hoge : String = "";としない
演算子と代入では間にスペースを入れる
var hoge:Number = 100; // var hoge:Number=100;としない var fugo:Number = hoge + 99; // hoge+99としない
1ステートメントは1行にする
{}は始まりと終わりを同じ列にインデントを揃える
class Hoge { public function Hoge() { } public function show():void { if (aaa) { ... } else { ... } } }
関数の宣言
引数を列挙する際に行の折り返しが発生する場合は、左側の括弧と整列するように折り返し後の行をインデントする。スペースに余裕がある場合は複数の引数を1行に記述し、それ以外の場合は1行につき1つの引数を記述する。1つの引数さえ記述するスペースがない場合は、2行目に最初の引数を配置し、この行のインデントを関数名より前の位置にまで移動する。
public function foo(parameter1:Number, parameter2:String, parameter3:Boolean):void public function foo(parameter1:Number, parameter2:String, parameter3:Boolean):void public function aVeryLongFunctionName( parameter1:Number, parameter2:String, parameter3:Boolean):void
関数の呼び出し
func(a, b)のように記述する
if, for, while switchステートメント
ステートメントの後にスペース、(、スペースなし、)
if (a && b) for (var i:uint = 0; i < length; i++) while (a || b) switch (aaaa)