web-dev-qa-db-ja.com

命名規則:「状態」と「ステータス」

簡単な質問:「Foo.currentState」と「Foo.status」などのフィールドと「enum FooState」と「enum」などのタイプの両方に名前を付ける際に、「State」と「Status」を使用するタイミングについての意見を聞きたいFooStatus」。そこで議論されているコンベンションはありますか? 1つだけを使用する必要がありますか?もしそうなら、どれを選び、もしそうでなければ、どのように選ぶべきでしょうか?

160
Sophistifunk

コンテキストに依存します

状態は通常、エンティティの状態全体を指します。特定の時点(通常は現在)でのすべての値と関係

ステータスは、たとえば、プロセスまたはワークフローのどこかにある、つまりダーティ(したがって保存が必要)か、完了か、入力保留中かなどの時点です。

それがあなたの決断に役立つことを願っています。

97
Luke Schafer

IMO:

status ==お元気ですか? [良し悪し]

状態==何をしていますか? [休息/就労]

192
spemble

通常、Stateを使用して、オブジェクトまたはシステム全体の現在の状態を意味します。ステータスを使用して、何らかのアクションの結果を表します。たとえば、オブジェクトの状態は保存/未保存、有効/無効です。メソッドのステータス(結果)は成功/失敗/エラーです。このジャイブは、「 状態または条件状況に関して 」というステータスの定義と非常によく一致すると思います。この場合は、アクション/メソッドの適用です。

13
tvanfosson

ステータスよりも状態を好むもう1つの(完全に実用的な)理由は、複数形が単純であることです。

  • 状態->状態
  • ステータス->ステータス

そして、私を信じてください、遅かれ早かれ、リストまたは配列、またはコード内の状態のいずれかを持ち、変数に名前を付ける必要があります。

8
robinst

「州」が米国の政治的分裂を指す以外の理由がない場合、多くの人が「状態」を使用してオブジェクトの状態を表していると思います。

6
Dave Markle

方程式に別の視点、つまり「送信者-要求者」を追加できると思います。

送信者の観点から、私は自分の状態を聞いてくれる人と通信します。リクエスタの観点からは、誰かのステータスを尋ねるでしょう。

上記は、不確実性の観点からも解釈できます。-定義済み=状態-未定義=ステータスあなたのステータスは何ですか?私はリラックスした状態です。

これは単なる解釈であり、特定の状況には当てはまらないかもしれません。

2
Michel Verkaik

クイック辞書チェックは、ステータスが状態の同義語であることを明らかにしますが、他の位置に対する相対的な位置の追加の解釈があります。

したがって、相互の暗黙的な順序付けや位置を持たない一連の状態にはstateを使用し、そうでないものにはstatusを使用します(おそらくオフスタンバイ-on?)。しかし、それはすばらしい区別です。

1
Brian Agnew

私が扱う多くのエンティティ(アカウント、顧客)には、状態(TX、VAなど)とステータス(アクティブ、クローズなど)があります。

したがって、用語が誤解を招くという点は可能です。状態の名前がST_CDとステータスはACCT_STAT_CD

OO milieuxで列挙型を使用すると、厳密な型安全性がある場合、コンパイラーがこれを試行しないことをコンパイラーが保証するため、この問題はそれほど重要ではありません。

theCustomer.State = Customer.Status.Active;

あなたがダイナミックな環境にいるなら、私はもっと心配するでしょう!

ステートマシンまたは他の状態情報とその用語が支配的なドメインを扱っている場合、Stateは完全に問題ないと思います。

1
Cade Roux

しばらく前に、現在のプロジェクトでこの正確な議論が行われました。好みはありませんが、一貫性は重要な考慮事項です。

私のSharp PW-E550(素晴らしい辞書、私が追加するかもしれません)の「状態」の最初の(いくつかあります)定義は、「誰かまたは何かが特定の時間にいる特定の状態」です。 「ステータス」の最初の定義は、「相対的な社会的、専門的、または誰かまたは何かの他の立場」です。 「状況」の2番目(および最後)の定義でさえ、この文脈では「国家」よりも劣っています:「特定の時点での状況、特に政治的または商業的文脈での状況」。

したがって、私の辞書を使用している人(New Oxford American Dictionary、2001を使用している人)ができるだけ簡単にしたい場合、「状態」が最良の選択です。

さらに、ギャングオブフォーの書籍「State Pattern」に記載されているデザインパターンがあり、コンピューティングレキシコンの用語をしっかりと確立しています。

これらの理由から、「状態」を提案します。

追伸あなたはDDMですか?あなたはまだ「状態」対「ステータス」について苦いですか?!!!!!!! LMAO!

0
les2