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