プログラミング:絶妙に悩む【ネーミング】
プログラミングにおいてちょっと悩むけど、考えすぎかな…とも思うことについてのメモです。
あくまでも私自身の環境ではこのやり方ですので、参考程度に見ていただければと思います。
スポンサードサーチ
絶妙に悩む
- Linqの中の単数アイテムのネーミング
- 濁る複数形のときの表現
- 『複数形』と『~List』の使い分け
Linqの中の単数アイテムのネーミング
何処の話かというとここ。
// Linqの中の単数を表すuserについての話
var targetUser = Users.Where(user => user. ...);
ここの単数表現についてです。
考えるべきこと
- 複数形の単数で変換できるか
- itemやentryでごまかせないか
良くないこと
- x,y,zなどの一文字も、探しにくいため非推奨
- _(アンダースコア)は使わない変数を意味するため、非推奨
Lingの他にforやforeachなどもそうです。
寿命が短いため、『まぁ、多少抽象的な名前にしても分かるよね』という話。
//例1 英語の単数で
var targetUser = Users.Where(user => user.Id == targetId);
//例② きちんと単数にすると長いので、itemやentryでごまかす
var target = SuperLongNameTerms.Where(item => item. ...);
//例③ foreachでよくある使い方。これは普通にあり
foreach(var item in Users){
// 処理
}
複数形は、~sなのか、~Listとすべきか
私は違和感がある複数形を、読みにくいからと言って~Listと直してしまう癖がありました。ですが、
英語の複数形はそのまま使えばいい
です。
違和感がない一般的な複数形とは
- items
- users
- orders…
反対に、違和感がある複数形とは
- codes: codeの複数形
- methods: methodの複数形
- statuses: statusの複数形
コーディングにおいて聞きなれないが、これらの単語でも思い切って使えばOK。
聞きなれないからと言って、わざわざ『methods => methodList』とか、『statuses => statusList』とかしなくても大丈夫です。
『複数形』と『~List』の使い分け
では、どんな時に名前の後ろにListやCollectionsとつけるのか。
- ~List、~Collections:
なるべくクラス名で -
複数形:
メソッド、プロパティ、クラス名など
ということで、クラス名で~List(Listを意味する)や~Collection(配列を意味する)を使うのはありかなと。
マイクロソフトがどうもこのような書き方をしているぽいです。
この記事の内容
- Linqの中の単数アイテムのネーミング
- 濁る複数形のときの表現
- 『複数形』と『~List』の使い分け
についてのメモでした。
ですが、社内やチーム内でコーディングの書き方にルールーがある場合はそれに従ってくださいね。あくまでも参考程度に