1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

私のコーディング規約

Last updated at Posted at 2025-04-06

変数

命名規則

ローワーキャメルケース : ローカル変数、private変数
アッパーキャメルケース : 構造体名、public変数、プロパティ(C#)、SerializeField(UnityC#)
ローワースネークケース : enum変数

  • 略語はすべて大文字
  • bool型はisから始める(is接頭語)
  • 定数はコンスタントケース
  • 配列やコンテナクラスは後ろにs/esをつける(s接尾語)

その他

  • メンバ変数の後は必ず改行
  • private変数はprivateの記入禁止(C#)
  • ローカル変数はすべて型推論(C++はauto、C#はvar)を使う
  • また、明示的に型を定義する必要がある場合は、コメントを追記し、使用する
property.cs
/**
* 以下、プロパティのコーディング規約.
*/

// getterのみ.
public int GetHoge { get; private set; } = 0;

int hoge;

// setter込み(単一行).
public int Hoge
{
    get => hoge;
    set => hoge = value;
}

// setter込み(複数行).
public int Hoge
{
    get
    {
        // 処理.
        return hoge;
    }
    set
    {
        hoge = value;
        // 処理.
    }
}

四則演算

演算子の両隣はそれぞれ半角スペース1つ(隣が括弧の場合は適用外)

if文

if.c
/**
* 以下、if文のコーディング規約.
*/

if(hoge)
{
    // 処理.
}
else if(!fuga)
{
    // 処理.
}
else
{
    // 処理.
}

while文

while.c
/**
* 以下、while文のコーディング規約.
*/

// C/C++
while(1)
{
    // ループ終了用の条件式を明記.
    if(hoge)
    {
        break;
    }

    // 処理.
}

// C#
while(true)
{
    // ループ終了用の条件式を明記.
    if(hoge)
    {
        break;
    }

    // 処理.
}

for/foreach文

for.cpp
/**
* 以下、C/C++のfor/foreach文のコーディング規約.
*/

// C
for (int i = 0; i < 10; ++i)
{
    // 処理.
}

// C++
for (auto i = 0; i < 10; ++i)
{
    // 処理.
}

for (auto i : values)
{
    // 処理.
}
for.cs
/**
* 以下、C#のfor/foreach文のコーディング規約.
*/

// C#
for (var i = 0; i < 10; ++i)
{
    // 処理.
}

foreach (var i in values)
{
    // 処理.
}

enum

命名規則

コンスタントケース

その他

最後にNONEという列挙定数を宣言すること

switch文

switch.c
/**
* 以下、switch文のコーディング規約.
*/

switch(hoge)
{
    default: // 書き忘れ防止.
        break;
    case 1:
        break;
    case 2:
        break;
}

関数

命名規則

  • 関数名はアッパーキャメルケース
  • 関数名は動詞から始める
  • 引数名は_(アンダーバー)から始める(_(アンダーバー)接頭語)
    • UnityのOnClickやInputSystemで呼び出される関数は、Onから始める(On接頭語)
  • await/asyncを使用する関数は、後ろにAsyncをつける(Async接尾語)
  • UniRxやR3などのRxを使用する関数は、後ろにAsObservableをつける(AsObservable接尾語)
  • 成功した場合にのみ、何かを行う関数はTryから始める(Try接頭語)
  • 成功した場合にのみ、取得できる関数はTryGetから始める(TryGet接頭語)

その他

  • private関数はprivateの記入禁止(C#)
  • Unityのイベント関数にはアクセス修飾は禁止(UnityC#)
  • Tryが接頭語になる関数は、trueや値 or falseや型に応じた初期化値を戻り値とする
Arrow.cs
/**
* 以下、関数のコーディング規約.
*/

// 1行で記述可能であれば、=>で実装する.
string Hoge()
    => "hoge";

コメント

  • メンバ変数や関数にはXMLコメント
  • 処理中は // で
  • 末尾には必ず.(ピリオド)を記述する

改行

メンバ変数、プロパティと中括弧の直後には改行

Github

コミット時

コメントの前に、以下の3つの内どれかを必ず記述すること

  • Update : 新しいファイルを追加する場合
  • Improve : 機能・コードの改善を行った場合
  • Style : インデントなど、機能に関係しない変更を行った場合
  • Adjust : 細かな調整を行った場合(SerializeField上での値変更など)
  • Fix : バグを修正した場合

プルリクエスト時

  1. 題名には、大まかに何を行ったかを明記する
  2. コメントは何のファイルにどのような変更/追加を行ったかを明記する

その他

C/C++、C#ファイルはUTF-8(BOM付き)にすること
(Github上での文字化け防止)

1
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?