CamelCase
UpperCamelCase
は単語の先頭文字が大文字。他は小文字
例:PlayerController
,HyperTextTransfarProtocol
,HelloWorld
LowerCamelCase
は最初の単語の先頭文字が小文字。以降の単語の先頭の文字は大文字。他は小文字。
例:mousePointer
,gameObject
,eyeTracker
Camel
はラクダでフタコブラクダをイメージすると分かりやすいかも。
UpperCamel
は前のコブが大きくて後ろのコブは小さい。
LowerCamel
は前のコブが小さくて後ろのコブは大きい。
ファイル構成
ここが決まってないとごちゃごちゃしてしまうので、
Scene
はAssets/Scenes/
フォルダ内に保存。
Script
はAssets/Scripts/
フォルダ内に保存。
Prefab
はAssets/Prefabs/
フォルダ内に保存。
Material
はAssets/Materials/
フォルダ内に保存。
みたいな形で保存する。
ユーティリティー
HTTP通信とかPlayerPrefs
のラッパー(ユーティリティースクリプト)とかをよく作るので、
Assets/Utils/
フォルダ内にユーティリティースクリプトファイルを作成する。
名前空間をUtils
にしてその中に静的クラスなり関数なり定義する。
例
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace Utils{
class Palette{
static const Color primary = new Color(0f, 0.5f, 1.0f);
static const Color primary = new Color(0f, 0.1f, 0.5f);
static const Color accent = new Color(1.0f, 0f, 1.0f);
}
}
命名規則
ここも色々とわけないと後から困るので...
メンバ変数
lowerCamelCase
で命名する。
例:
float playerSpeed;
メンバ定数
UpperCamelCase
で命名する。
例:
const string RoomKey = "xxx-xxx-xxx";
メソッド
UpperCamelCase
で命名する。
例:
void SetPlayerSpeed(float value) { this.playerSpeed = value; }
セッター/ゲッター
UpperCamelCase
で命名する。
例:
float PlayerSpeed {
get { return this.playerSpeed; }
}
Scene
UpperCamelCase
で命名する。
例:Game
,Result
シーンに1つコントローラー
シーンに1つシーンの全体的な処理を管理するコントローラースクリプトとオブジェクトを作成します。
コントローラースクリプトとコントローラーオブジェクトは同じ名前にする。
命名規則はScene名+Controller
コントローラーオブジェクトにはコントローラースクリプトをアタッチする。
共通部品
プレイヤー名入力フィールドなどのいろいろなところで使うUIなどは共通部品とする。
共通部品はPrefab
化する。
共通部品は専用Script
を持たせる。
例:プレイヤー名を保存するスクリプトなど
オブジェクト名
UpperCamelCase
で命名。