- PR -

クラス名とプロパティ名が同じにできなくて困っていませんか?

1
投票結果総投票数:1
できなくて困っている 0 0.00%
できなくても困らない(なぜ困らないのか教えてください) 1 100.00%
できないが困っていない( 0 0.00%
  • 投票は恣意的に行われます。統計的な調査と異なり、投票データの正確性や標本の代表性は保証されません。
  • 投票結果の正当性や公平性について、@ITは一切保証も関与もいたしません。
投稿者投稿内容
あぶぽん
大ベテラン
会議室デビュー日: 2005/10/20
投稿数: 205
投稿日時: 2008-02-12 13:17
プロパティの命名について、意見を頂戴したいと思います。

1.「.NETではプロパティは大文字で始めるのが定石」
(これは、間違いないですよね?)

2.「クラス名には「C」などプレフィックスは付けない」
(マイクロソフトが推奨していると聞きました)

1、2から、

クラスAのプロパティとしてクラスBのインスタンスを持つとき、
クラスBのクラス名とプロパティ名がぶつかることってないですか?

コード:
例)
※仮コードです

// レンタカーの車ID
Class CarID {
    // 省略
}

// レンタカーの客情報
Class CustomerInfo {
    public uint ID {get; set;}  // 客ID
    public CarID CarID {get; set;}  // 車ID
}



上記はレンタカー・システムの一部で、
車IDは当初uintでしたが、IDの中に意味を持たせるという要求のため、
クラスに変えました。

客IDのほうを変更するなら、クラス名はCustomerIDで、プロパティ名は
IDでOKかと思いますが、

車IDのほうは、そうはいきません。
意味をもとに考えてもやっぱりCarIDかな? と。。。

現状は、CurrentCarIDとか、OwnCarIDとか考えまして、
最終的に、RentalCarIDとしていますが、

全体がレンタカーシステムですから、冗長な気もします。

Javaなら、
コード:
private CarID carID;
public CarID getCarID();
public void setCarID(CarID id);


とするところですが、

.NETの定石はどうなんでしょうか?

上記は一例ですので、一般的にどうなのか?
そんなことになること自体がおかしい(設計が悪い)のか?

あぶぽん
大ベテラン
会議室デビュー日: 2005/10/20
投稿数: 205
投稿日時: 2008-02-12 13:22
すみません。修正中です!
1

スキルアップ/キャリアアップ(JOB@IT)