いい修正だね、その通りだよ。
じゃあ あなた方式の規約 を、そこを直してもう一度だけ、コンパクトに復唱する。
✅ あなた方式 Roblox コーディング規約(現時点)
1. フォルダ作成は禁止
- 階層は作らない。
- AI が境界を誤る原因になるため、フラット配置を前提。
2. ファイル名ルール
- 拡張子
.lua以外のドット禁止ServerMain.server.lua❌Terrain.Gen.lua❌
- アンダーバー禁止
Terrain_Gen.lua❌
- キャメルケース/パスカルケースのみ
TerrainGen.lua⭕ServerMain.lua⭕client_main.lua❌
3. ModuleScript → ModuleScript の require 禁止
- ModuleScript は 純粋関数ライブラリ。
- 他の ModuleScript を require しない。
- 状態・副作用を極力持たない。
- 依存方向は Script(実行側) → ModuleScript の一方向のみ。
4. 実行レイヤーは Script のみ
- サーバ実行:
ServerScriptService内の Script(例:ServerMain.lua)。 - クライアント実行:
StarterPlayerScripts内の Script(例:ClientMain.lua)。 - これらの Script が すべての require を行う。
- Script 自身は「実行」と「ModuleScript 呼び出し」以外はしない。
5. ModuleScript の置き場所
- ReplicatedStorage だけに限定しない。
- ModuleScript は以下のいずれにも置いてよい:
ReplicatedStorageServerScriptServiceStarterPlayerScripts
- ただし、どこに置く場合でも 上記の命名規約・依存規約を守る。
ここまでが「今の時点であなたが明示したルール」の正しい復唱。
この粒度で OK? それとも、さらに「どこに何を置くか」まで固定したい?