読者です 読者をやめる 読者になる 読者になる

pblog

pplog.net を作っている @ppworks こと越川直人(Koshikawa Naoto)のブログ。esa LLCで働いてます(\\( ⁰⊖⁰)/)

コーディング規約 ファイル構成編

ActionScript3

http://opensource.adobe.com/wiki/display/flexsdk/Coding%20Conventionsを自分用にまとめた。
ファイル構成編です。ファイルを構成するステートメントの順序は以下に示す順となります。

著作権表記

adobe flex sdkフレームワークに記述される著作権標記です。
自身のプロジェクトに合わせて記述すると良いと思います。

////////////////////////////////////////////////////////////////////////////////
//
//  ADOBE SYSTEMS INCORPORATED
//  Copyright 2008 Adobe Systems Incorporated
//  All Rights Reserved.
//
//  NOTICE: Adobe permits you to use, modify, and distribute this file
//  in accordance with the terms of the license agreement accompanying it.
//
////////////////////////////////////////////////////////////////////////////////

packageステートメント

importステートメント

use namespaceステートメント

クラスメタデータ

クラスのメタデータはセクションに分類し、Events、Styles、Effects、Excluded APIs、Other Metadata(アルファベット順)の順に記述。

//--------------------------------------
//  Events
//--------------------------------------
/**
 * ASDOC
 */
[Event(name="CHANGE", type="flash.events.Event")]	

クラス宣言(class〜)

version.asのインクルード

全のクラスから相対パスでインクルードすべし、と書いてありますが。as3corelibとかでそうしている箇所が見当たりません。

クラスの初期化

クラス定数

static constを記述する。但し、Array, Objectはconstで指定出来ないので、代わりにstatic varで定義する。

public static const HOGE:String = "定数";
public static var HOGE_LIST:Array = [111, 222, 333];

クラスミックスイン

メソッドとして定義するのではなくスタティックなFunction型の変数をクラスミックスイン用の変数と呼んでいるようです。

public static var mixInFunc:Function;

クラスリソース

何を指すのか分からず。

クラス変数

クラスプロパティ(アルファベット順)

クラスメソッド

コンストラクタ

えー、ここ?プロパティの下がいいな。

変数

オーバーライドされたプロパティ

プロパティ

オーバーライドされたメソッド

メソッド

オーバーライドされたイベントハンドラ

パッケージ外のヘルパークラス

2個以上書くとCS4でエラーとなるバグがある。。。