アクセシビリティ
Adobe
サインイン 注文状況 ユーザー登録

TechNote

Flash での命名術


はじめに

Flash 5 はオブジェクトの名前をつける上で柔軟性を持っており、コードを書く上で自由がありますが、基本的な名前付けの約束事 (ネーミング コンベンション) に従うことで、書いたコードが正しく再生されるという保証をより深めることができます。開発中のネーミング コンベンションの使用は、スクリプトの理解やトラブルシューティング、更には共同での作業を楽にします。この文書では、ActionScript や、他のコンピュータ言語でプログラミングをする際に活用できる一般的なネーミング コンベンションをご紹介します。

命名術

半角スペースや特殊記号を避ける。スペース、ピリオド、特殊記号は Flash Player で特殊な意味を持つことがあります。例えばステートメントの終わりを意味したり式の一部を意味したりします。名称にはアンダースコア ("_")、アルファベット、数字を使用することができます。句読点や他の特殊文字は避けることが無難です。

Note:
特殊記号例のリストは以下の文書をご参照ください。
URL Encoding: Reading special characters from a text file (TechNote 14143)

アルファベットから始める。数字から始まる変数あるいはオブジェクト名は混乱を引き起こす原因になることがあります。例をあげれば、フレーム名を認識するのに "3frame" とするのでなく、"frame3" と名前を付けます。変数、関数、オブジェクトの名前は数字を含んでもかまいませんが、始めの文字はアルファベットであるべきです。

ユニークな名称を使用する。2つの異なったオブジェクトに同じ変数名を付けるのは避けましょう。例えば、ムービークリップインスタンスとテキストフィールドが同じ名前が付けられていたら、どちらかのプロパティを変更した際に問題が発生する可能性があります。それぞれのオブジェクトに唯一な名前を付けることによって、このような問題を避けられます。

変数の種類と範囲を識別するためにシステムを使う。例えば、ムービークリップインスタンス名の接頭語として "mC" を使ったり、ダイナミックテキストフィールドの名前には "txt" という接頭語を付けたりします。グローバル変数とローカル変数の両方を含むムービーを作成する場合、そのムービー中一貫して "global" という単語や "g" をグローバル変数のという接頭語したります。同様に "local" という単語や "l" をローカル変数の接頭語にし、ムービーの別な場所では使用しなくしたりするのです。 ハンガリアン記法 と呼ばれるものがスクリプト言語では広く普及しています。

以下がその例です。左側はデータタイプやシンボルタイプ、また右側はそれらのタイプの変数名やインスタンス名です。

Number: nMyNumber
Movie Clip: mcMyMovie
Button: btnMyButton
Graphic: grMyGraphic
Date: dtMyDate
Sound: sndMySound

複数の単語をつなぎ合わせた記述的な名前を使います。例えば firstNumber、 myDate、timeCounter、lastName のような名前です。名前の付け方に習慣をつけることは、トラブルシューティングをしたり共同でスクリプトを組んだりするときに便利です。一般的に x、i、j といったような変数名はどのような用途で使用されているかについてはっきりしない名前で、トラブルシューティングをする時に管理するのが大変です。それに対し、lastName といったような名前は変数が何に使われているのか即座にヒントをくれます。

後に続く単語の最初の文字を大文字化します。複数の単語をつなぎ合わせた記述的な名前を使っている場合、一番初めの単語を除いた全てのそれに続く単語の一番初めの文字を大文字にします。例えば lastAddress、currentAddress、lastFrameVisited といった形式です。この手法はコードを読みやすくします。プロジェクトを共同で作業をしていたり、コードを共有している場合、皆が読みやすいという利点は有効です。

一貫性を持つ。大文字小文字の制度に一貫性を持たせるるようにします。myTextFader という名前のオブジェクトを作成したら、ムービー中は常に myTextFader と呼び、'mytextfader' や 'MYTEXTFADER' と呼ぶのは避けましょう。

予約語を避ける。'date'、'this'、'goto' といった単語は、Flash Player において特別な意味を持ちます。変数としてこれらの単語を使用することはスクリプトが実行された際に問題を引き起こす可能性があります。この問題を回避する方法の一つは上記したように、複数の単語をつなぎ合わせた記述的な名前を変数に使用することです。例えば値が日にちの変数の名前に birthDate と付けます。'date' という予約語とのコンフリクトを避けるだけでなく、説明付きの変数名になります。

Note:
この問題については以下の文書でより詳しく説明されています。
Variable names conflicting with object names (TechNote 14677)

var もしくは set variableで変数を宣言する。 Flash では ver や set variable を使用し変数を初期設定することは必須ではありませんが、習慣として実践することはお薦めです。変数を定義することと、値を割り当てることを一つの手順で行うことはなんら問題はありませんし、例えば以下のように可能です。

userName ="Mary";

しかし、もし変数が値を割り当てられる前に定義されていると、コードはもっと理解しやすいでしょう。

var userName ="Mary";

上記でステートメントが変数を設定していることが明確になります。

凡例をつける。 これは特に複雑なプロジェクトにおいて有効です。例えば、異なった種類の変数やオブジェクトを指定するのに特定の接頭語を使用しているとするならば、名前の付け方を定義する文書は役立ちます。ActionScript で一般的なコメントステートメントを使うか、ライブラリにテキストで各接頭語にどんな意味があるのかを "ReadMe" や "凡例" というシンボルとして作成します。


追加情報

別な視点から、似通った命名術が以下の文書に記載されています。
Naming strategies for Dreamweaver, UltraDev, and various interpreters (TechNote 14610)

この文書は、米国 Adobe Systems, Inc. の
Naming strategies for Flash(TechNote 14727) をもとに作成されました。


関連ドキュメント (Related Records)

RELATED RECORDS

AlertThis content requires Flash

To view this content, JavaScript must be enabled, and you need the latest version of Adobe® Flash® Player.

Download the free Flash Player now!

Get Adobe Flash Player

Creative Commons License

サポート情報検索 (Search Support)

ドキュメント情報 (Document Details)

最終更新 (Last Update): 2006-04-22
文書番号 (ID):228649
プラットフォーム (OS):Macintosh, Windows
http://go.adobe.com/kb/ts_228649_ja-jp

関連製品 (Product Affected)

flash