MEL スクリプトを明確で理わかりやすくするには、変数の機能を説明するような変数名を使用します。
x、i、thomas のような変数名は、carIndex、timeLeft、wingTipBend のようにわかりやすくありません。ただし、冗長にならないように注意してください。たとえば indexForMyNameArray では長すぎます。明確に機能を説明しており、かつ簡潔な名前にしてください。
グローバル変数は、その変数を宣言した特定のプロシージャと MEL スクリプト以外でも有効であるため、危険です。どのプロシージャと MEL スクリプトからでも使用できるので、同じ名前のグローバル変数を使用しているほかの MEL スクリプトで修正される可能性が高くなります。これは、非常に検出しにくい問題になることがあります。
proc int checkVisibility(int $value)
{
global int $myIndex = 0;
$myIndex = $myIndex + $value;
return $myIndex;
}
proc iSeeYou()
{
global int $myIndex = 0;
int $value = checkVisibility(1);
$myIndex = $myIndex + $value;
print($myIndex);
}
iSeeYou; // Result is 2.
プロシージャ iSeeYou を実行すると、グローバル変数 myIndex は 2 になります。これは、両方のプロシージャで myIndex の値を増やすからです。
グローバル変数を使用する必要がある場合は、一意の名前で作成し、既存のグローバル変数のデータを書き換えないように注意してください。プロシージャ内のグローバル変数も回避してください。