1. ホーム
  2. naming-conventions

[解決済み] データ取得のためのメソッド名【終了しました

2022-07-30 10:57:14

質問

警告です。 これは私が投稿しているあまり真剣な質問/議論ではありません...しかし、ほとんどの開発者がこの問題"を熟考していることに賭けたいと思います...。

どこかからデータを取得し、それを返すメソッドの命名規則について、他の意見を聞きたいと常に思っていました...。

ほとんどのメソッド名はやや単純で明白です... SaveEmployee()、DeleteOrder()、UploadDocument()などです。もちろん、クラスでは、ほとんどの場合、短い形式...それぞれSave()、Delete()、Upload()を使用することになるでしょう。

しかし、私はいつも最初のアクションで苦労しています...どのようにデータを取得するかです。プロジェクトごとに、私は異なる命名規則の間を飛び回ることになるようです。なぜなら、最後に使用したものに決して満足できないからです。私が知る限りでは、これらが可能性です -->

  • GetBooks()
  • FetchBooks()
  • 書籍の取得(RetrieveBooks)
  • FindBooks()
  • LoadBooks()

あなたの考えは?

どのように解決するのですか?

それは、一貫した セマンティクス ;

あなたの質問のタイトルでは データの取得 . これは非常に一般的です。 を定義する必要があるという意味で、非常に一般的です。 を得る を意味する を意味的に著しく曖昧さのない方法で定義する必要があるという意味で一般的である。次のような例があります。 を考える際に、正しい方向に導いてくれることを願って、以下の例を提供します。 を提供します。

  1. getBooks() は オブジェクトに関連するすべてのブック オブジェクトに関連付けられたすべての本を取得する場合、そのセットの基準がすでに定義されていることを意味します。 セットに対する基準がすでに定義されており、それらがどこから来るかは隠された詳細であることを意味します。
  2. findBooks(criteria) は、サブセットを見つけようとしているとき へのパラメータに基づいて これは通常 異なる検索条件でオーバーロードされます。 基準
  3. loadBooks(source) は 外部ソースからロードする場合です。 ファイルやデータベースから読み込む場合です。
  4. を使うことはありません。 fetch/retrieve は曖昧すぎて get と混同され、この用語に関連する明確なセマンティックが存在しないからです。

フェッチ は、あるエンティティが遠隔地にある何かを取りに行き、それを持ち帰る必要があることを意味します。犬は棒をとってくるし を取得する の同義語です。 取得 の同義語であり、その前にその物を所有していたかもしれないという意味も付加されています。 得る の同義語です。 を得る これは、あなたが何かを単独で所有し、他の誰も同時にそれを取得することができないことを意味します。

セマンティクス は非常に重要です。

言語学と論理学の一分野であり、意味に関するものである。

<ブロッククオート

このコメントは を得る フェッチ は は特定の意味を持たず、人によって異なる解釈をされます。 によって異なる解釈をされます。用語の意味づけを選び、それが何を意図しているかを文書化する。 意味するものを文書化し、一貫して使用することです。

曖昧な意味を持つ言葉は、個人的な意見に基づく偏見や先入観から、人によって異なる意味づけがなされ、それは決して良い結果を招きません。