3

モジュール用の API を作成しています。クラス内にいくつかのメソッドを作成した後、この質問を自問しました。

今、そして例として、私はこれをやっています:

public Company GetMonitoredCompany( String companyName ) { ... }
public List<Company> GetMonitoredCompanies( ) { ... }

しかし、私は他の API やサービスを何度か使用していることに気付きました。名前にCollectionが含まれていることがあります。

public List<Company> GetMonitoredCompanyCollection( ) { ... }

これにはルールがありますか?パターン?またはどちらの方法でも大丈夫ですか?

4

6 に答える 6

10

メソッドの目的を明確に示す、最も短く単純な名前を使用してください。そして、プロジェクト内で一貫性を保ちます。

この例では、他に考慮事項がなければ、次の名前を使用します。

GetMonitoredCompanies

短くてわかりやすいからです。

(特別な理由がない限り、読み取り専用の ICollection または IEnumerable も返します。)

于 2008-12-28T22:21:54.117 に答える
1

複数の値 (コレクション、配列など) を返す可能性がある場合は、複数形 (GetMonitoredCompanies) を使用し、そうでない場合は単数形を使用します。返されたデータ型を名前に含めないでください。これは、戻り値のデータ型を変更し、メソッドの名前を変更するのを忘れた場合に問題が発生し、混乱を招くだけです。

于 2008-12-28T22:37:11.650 に答える
1

それはあなた次第です。しかし、プロジェクト全体で同じ規則を使用することをお勧めします...私は最初の方法を好みます (GetMonitoredCompanies)

于 2008-12-28T22:21:47.597 に答える
1

コレクションを区別するために複数形のみを使用すると、非常に混乱します。私は通常、コレクションを返すときに Get の代わりに List を使用するので、例は次のようになります

ListMonitoredCompanies

これにより、追加、更新、削除、一覧表示、および取得関数のすべてに独自の開始文字があるため、Intellisense の使用が非常に簡単になります。

于 2008-12-28T23:14:05.120 に答える
0

この場合、.NET Framework の命名をコピーします。たとえば、 Directory.GetFilesType.GetMembersを複数形にします。そうすることでコードが不明瞭にならない限り、明らかに。

于 2008-12-28T22:29:17.813 に答える
0

重要な意味が追加されると感じない限り、コレクションは絶対に行わないでください。最新のツールは、予想される戻り値の型を一目で簡単に伝えることができます。戻り値の型を変更するとどうなりますか? 関数名を間違ったままにするか、コード全体で変更する必要があります(ただし、とにかくそれを行う必要があるかもしれませんが、サブクラス化する場合などはそうする必要はないかもしれません)。

ハンガリー語表記法が (物議をかもすように) 高級言語では特に役に立たなくなったのと同じ理由で。

いずれの場合も、コード全体で一貫性を保つようにしてください。

ああ、愚かなことはしないでください。関数の戻り値の型 ( Number )、意味 ( Count )、それが関数 ( Function )であること、かなり冗長に、実際に行いました。

于 2008-12-28T22:27:23.060 に答える