Luaのコーディング規約と整形ツールの使い方|読みやすいスクリプトを書く

Lua プログラミング ゲーム開発
結論

インデントはスペース2つまたは4つで統一。 Luaは自由度の高い言語ですが、RobloxやUnity(MoonSharp)などの環境ごとに推奨されるスタイルガイドに従うのが一般的です。

基本の規約例

項目 推奨される記述
変数名 ローカル変数は lowerCamelCase または snake_case
定数 すべて大文字 UPPER_SNAKE_CASE
コメント 単一行は -- 、複数行は --[[ ... ]]

🌙 この場でLuaを整形する

Lua特有の注意点

  • グローバル変数を避ける — デフォルトでグローバルになるため、常に local キーワードを付けるのが鉄則です。
  • 配列のインデックスは1から — 他の多くの言語と異なり、テーブル(配列)の開始インデックスは 1 です。
  • セミコロンは任意 — 行末の ; はあってもなくても動作しますが、省略するのが一般的です。

なぜフォーマッターを使うのか

Luaは if ... then ... endfunction ... end など、ブロックの終わりを end で示すため、ネストが深くなると構造を見失いやすくなります。自動整形ツールを導入することで、ネストの崩れによる構文エラーや論理ミスを未然に防ぐことができます。

関連記事

あわせて読むと理解が深まる関連記事をまとめました。

トピック記事
Lua FormatterLua Formatter|Roblox・ゲーム脚本の整形
Redisキャッシュスタンピード防止ガイドRedisキャッシュスタンピード防止ガイド|Singleflight・Mutex・SET NX・確率的早期失効
1フレームは何秒・何ms? 60fpsと120fpsの計算方法1フレームは何秒・何ms? 60fpsと120fpsの計算方法
AIクローラー対応 robots.txt・llms.txt 設定ガイド 2026AIクローラー対応 robots.txt・llms.txt 設定ガイド 2026|GPTBot・ClaudeBot・Google-Extended・GEO戦略
APIキャッシュ設計ガイドAPIキャッシュ設計ガイド|ETag・Cache-Control・304・CDNキャッシュキーの実務
Web APIのエラーハンドリング設計Web APIのエラーハンドリング設計|RFC 9457・error_code・400/422/409の使い分け
Web APIのべき等性(Idempotency)設計Web APIのべき等性(Idempotency)設計|二重決済を防ぐ実装ガイド
API設計におけるページネーションの使い分け:オフセット型とカーソル型の比較API設計におけるページネーションの使い分け:オフセット型とカーソル型の比較
APIのレート制限(Rate Limiting)実装ガイドAPIのレート制限(Rate Limiting)実装ガイド|アルゴリズム選定と429エラーの適切なハンドリング
APIデバッグで使うツールの使い分けAPIデバッグで使うツールの使い分け|JSON整形・JWT・Base64のワークフロー
Aspect Ratio 計算Aspect Ratio 計算|16:9・4:3 解像度一覧
Astro Content Collections でブログを構築するAstro Content Collections でブログを構築する