【C#】コーディング規約って大事

DEVELOP, Unity

最近は Unity で開発をする機会が多いので、偏った考え方になるかもしれないですが、いくつかのプロジェクトで気になった点を、少し毒強めに書いてみます。

関数編

名前

void a1()
{
    // hogehoge
}
  • 未だにこんなクソコードを見かけることがあります。万死に値する。
  • 内部実装を見なくても、それが何か分かる様にする。

SetFunc系

void SetItem()
{    
    // foo
}
  • Set と名前を付けるのであれば引数を渡してあげてください。
  • もし Set するものがない場合、それはSetupなのではないか、一度考え直した方がよいです。

リフレクション

SendMessage("foo");
  • 置換作業が大変。呼び出し元の検索が困難に なる。
  • 呼び出し先メソッドがコードストリッピングで消えます。
    • Attribute 付ければ防げるとはいえ、面倒以外の何物でもない。
    • ExecuteEvents.Execute を使えば代用できます。

Enum

enum Type
{
    home_a1,
    home_a2,
    home_a3,
}

関数名と同等に、意味のある名前にする。Type だけでは名前だけで何の Type なのか知ることが出来ません。

まとめ

新しいプロジェクトに入った際に、はじめの目につくところはこんなところ。どこもそんなに綺麗に出来てはいない。人数が増えると難しいのかもしれませんね。それにしても開発環境には恵まれない笑

Posted by kazupon