EasyLanguage はこれといったコーディングルールがなくて、みんながいろいろなスタイルで書いているみたいです。ここでは、できるだけモダンな言語のルールに似たコーディングルールを定義してみます。
スペース
- インデントは半角スペース x4 で行う(タブは使用しない)。
大文字・小文字
- 小文字で始める
- 制御構文:
if
、begin
、and
など - プリミティブ型名:
bool
、double
、null
、スキップワード(a
、at
など) - 変数定義:
input:
で宣言する入力変数やvar:
で宣言するローカル変数
- 制御構文:
- 大文字で始める
- 関数:
AverageFC
、StdDev
など(ユーザー定義関数を含む) - 売買命令:
Buy
、SellShort
など(関数名っぽいので大文字で) - 組み込み変数:
Open
、Close
、CurrentBar
、Date
、Time
など
- 関数:
- すべて大文字
- 定数:
const:
で宣言するもの
- 定数:
変数宣言のセクション名
入力変数は input:
、定数は const:
、変数は var:
を使う(一番短い記述のものを採用)。
上記では、入力変数のプレフィックスに i
、ローカル変数のプレフィックスに my
を付けていますが、付けなくても OK(myAvg
の代わりに avg
とかでよい)。
ただし、定義済みの変数名や関数名と被るのを避けるために、プレフィックスを付けるのをオススメします。
改行位置
then
やbegin
は基本的に同じ行に続けて記述、end;
は単独行に記述。
ただし、関数(メソッド)定義の場合は、begin
の前に var
定義が挟まるので、その場合は begin
は単独行に記述します。