नामकरण सम्मेलनों: "राज्य" बनाम "स्थिति" [बंद]


175

त्वरित प्रश्न: मैं आपके विचारों को "स्टेट" बनाम "स्टेटस" का उपयोग करते समय सुनना चाहता हूं, जब दोनों फ़ील्ड जैसे "Foo.currentState" बनाम "Foo.status" और प्रकार का नामकरण करते हैं, जैसे "enum FooState" बनाम "enum" FooStatus "। वहाँ एक सम्मेलन वहाँ चर्चा की है? क्या हमें केवल एक का उपयोग करना चाहिए? यदि ऐसा है, तो कौन सा, और यदि नहीं, तो हमें कैसे चुनना चाहिए?


14
हे। काम के दूसरे दिन मैं कुछ संरचना में आया, जिसमें "राज्य" नाम का एक सदस्य था और "स्थिति" नाम का एक और सदस्य था, और वे अलग-अलग चीजें थीं। मैंने यह सोचना शुरू कर दिया कि शब्दों का क्या मतलब है, और इसे बदलने के बारे में क्या है, लेकिन कोड पुराना और गंभीर और काम कर रहा था, इसलिए मैंने उस सोते हुए कुत्ते को झूठ बोलने दिया। ओह .. यह शायद "उत्तर, एह! टिप्पणी, उत्तर, स्थिति, स्थिति ... के बजाय" टिप्पणी "होना चाहिए था।
smcameron

9
और निश्चित ही यह बंद है। अच्छा राजभाषा 'एसओ।
jn1kk

2
@jsn न केवल यह बंद है (इन दिनों क्या नहीं है?), लेकिन यह अभी भी एक लंबे समय से सबसे लोकप्रिय चीज है जिसे मैंने यहां योगदान दिया है :)
सोफिस्टिफ़ंक

8
यह एक वैध प्रोग्रामिंग प्रश्न है। martinfowler.com/bliki/TwoHardThings.html

2
स्थिति एक सरल लेबल है, जैसे "स्वस्थ", "अपमानित", "अनुपलब्ध", आदि। राज्य में सभी विवरण शामिल हैं; उदाहरण के लिए, सीपीयू उपयोग और लोड औसत, मेमोरी उपयोग, जेवीएम मेट्रिक्स, डिस्क उपयोग, आदि

जवाबों:


107

ये संदर्भ पर निर्भर करता है

राज्य आम तौर पर एक इकाई के पूरे राज्य को संदर्भित करता है - एक विशेष बिंदु पर उसके सभी मूल्य और रिश्ते (आमतौर पर, वर्तमान)

स्थिति एक समय-बिंदु से अधिक है, कहते हैं, जहां कुछ प्रक्रिया या वर्कफ़्लो में है - क्या यह गंदा है (इसलिए बचत की आवश्यकता है), क्या यह पूर्ण है, क्या यह लंबित इनपुट है, आदि।

मुझे उम्मीद है कि आपके निर्णय में आपकी मदद करता है।


211

IMO:

स्थिति == आप कैसे हैं? [शुभ अशुभ]

राज्य == आप क्या कर रहे हैं? [आराम / काम कर]


17
आप 2009 में कहां थे? यह उत्तर तकनीकी शब्दजाल (सीपीयू स्टेट, थ्रेड स्टेट, स्टेट मशीन, रिटर्न स्टेटस, राइड वॉल्यूम स्टेटस, इत्यादि) और यहां तक ​​कि बाकी सब चीजों (एप्लिकेशन स्टेटस, अकाउंट स्टेटस, इत्यादि) में सबसे अधिक समझ में आता है। केवल एक चीज जो मैं सोच सकता हूं कि असंगत है "सामान की स्थिति" या "चीजों की स्थिति" जैसी चीजें हैं जो आपकी "स्थिति" की तरह अधिक हैं (चीजों का अच्छा / बुरा विचार जो कि चीजों के बजाय हो रहा है) खुद जाओ)।
पीटर

4
राज्य का तात्पर्य यह भी है कि यह "आराम / काम करने" की तुलना में अधिक जानकारी रखता है - लेकिन काम के बारे में सभी विवरण (या आराम) जो यह कर रहा है।
ब्रेनस्ल्गस83

3
"मैं अपने भाई के पिछले यार्ड में एक ट्री हाउस का निर्माण कर रहा हूं" जैसा कि आप सुझाव देते हैं, यह राज्य का एक अधिक विस्तृत उदाहरण होगा , @ BrainSlugs83। इस उदाहरण में मेरी स्थिति थकी हुई / पसीने से तरबतर / उर्जावान / खुश हो सकती है।
इकट्ठा

4
मैं इस उदाहरण से प्यार करता हूं। साफ और संक्षिप्त। मेरे व्यावहारिक उपयोग के लिए, मैं यह कहकर एक स्वयंसिद्ध को सामान्य कर सकता हूं कि Stateराज्य-मशीन (या वर्कफ़्लो) राज्य नोड्स के ग्राफ़ के भीतर "संकेतित नोड" को प्रतिबिंबित करना चाहिए, जहां विवरण आसानी से एक मौखिक विशेषण हो सकता है (अक्सर समाप्त होता है) -ing "), जबकि Statusवस्तु की एक साधारण संपत्ति है, एक सादा विशेषण, जिसका उपयोग किसी राज्य को बदलने (या रखने) के निर्णय के लिए ट्रिगर या मान के रूप में किया जा सकता है। मैं शायद इसे उखाड़ फेंक रहा हूं। मैं ऐसा करता हूं ..
एलन मैकबी -

6
मैं सहमत हूं: STATUS स्टेट में परिवर्तन का परिणाम या प्रगति है।
नील

16

आमतौर पर मैं राज्य का उपयोग किसी वस्तु की वर्तमान स्थिति या समग्र रूप से करने के लिए करूंगा। मैं कुछ कार्रवाई के परिणाम का प्रतिनिधित्व करने के लिए स्थिति का उपयोग करता हूं। उदाहरण के लिए, किसी वस्तु की स्थिति को सहेजा / सहेजा नहीं जा सकता, वैध / अमान्य। किसी विधि की स्थिति (परिणाम) सफल / असफल / त्रुटि है। मुझे लगता है कि यह स्थिति की परिभाषा के साथ " स्थिति या परिस्थितियों के संबंध में स्थिति" के रूप में बहुत अच्छी तरह से जिब करता है, इस मामले में परिस्थितियां एक कार्रवाई / विधि का अनुप्रयोग है।


8

स्थिति पर राज्य पसंद करने का एक और (पूरी तरह से व्यावहारिक) कारण यह है कि बहुवचन सीधा है:

  • राज्य -> ​​राज्य
  • स्टेटस -> स्टेटस

और मेरा विश्वास करो, आप जल्द ही या बाद में एक सूची या सरणी या आपके कोड में जो भी राज्य होंगे और चर का नाम देना होगा।


3
बस सोच, स्थिति 'बहुवचन नहीं होना चाहिए?
BiAiB

विक्शनरी कहते स्थितियां: en.wiktionary.org/wiki/status#Noun । अन्य भाषाओं में इसके लिए अलग-अलग शब्द हैं।
रोबिन

9
लैटिन बहुवचन "स्टेटो" है, एक लंबे यू के साथ, स्टेटी नहीं।
पाओलो एबरमन

6

मुझे लगता है कि बहुत से लोग "स्थिति" का उपयोग किसी वस्तु की स्थिति का प्रतिनिधित्व करने के लिए करते हैं यदि "राज्य" के अलावा कोई अन्य कारण संयुक्त राज्य के राजनीतिक विभाजन को संदर्भित नहीं करता है।


11
यह वह कारण नहीं है जिसका मैंने कभी इस्तेमाल किया है, न ही किसी ने मेरे साथ काम किया है या पाठ पढ़ा है ...
ल्यूक शेफर

4
तो क्या? इसका वैध कारण है। यह एक नामकरण सम्मेलन है।
डेव मार्क

4
हां। ऑस्ट्रेलिया में भी, हम 1901 में राष्ट्रमंडल में एकीकृत पूर्व कालोनियों का वर्णन करने के लिए राज्य शब्द का उपयोग करते हैं। इसलिए, मैं केवल .status का उपयोग करता हूं, क्योंकि .state का उपयोग अक्सर उन डेटा संरचनाओं में किया जाता है जिनमें पता होता है।
मैथ्यू Schinckel

अतः पता.स्टेट = तस्मानिया; समझ में आता है, लेकिन डिवाइस.स्टेट से भूगोल को शामिल करने की उम्मीद नहीं की जाएगी।
spemble

3

मुझे लगता है कि आप समीकरण के लिए एक और परिप्रेक्ष्य जोड़ सकते हैं, जिसका नाम है 'प्रेषक-आवश्यकताकर्ता'।

प्रेषकों के दृष्टिकोण से, मैं अपने राज्य को सुनने के लिए तैयार किसी भी व्यक्ति के साथ संवाद करूंगा अनुरोधकर्ताओं के दृष्टिकोण से, मैं किसी की स्थिति के लिए पूछ रहा हूँ।

ऊपर भी अनिश्चितता के दृष्टिकोण से व्याख्या की जा सकती है:

  • परिभाषित = अवस्था
  • अपरिभाषित = स्थिति

आपका स्टेटस क्या है? मैं आराम की स्थिति में हूं।

मुझे पूरा यकीन है कि यह सिर्फ एक व्याख्या है, जो आपकी विशेष स्थिति पर लागू नहीं हो सकती है।


1

एक त्वरित शब्दकोश चेक से पता चलता है कि स्थिति राज्य का एक पर्याय है, लेकिन किसी अन्य के सापेक्ष स्थिति की एक अतिरिक्त व्याख्या है ।

इसलिए मैं उन राज्यों के एक समूह के लिए राज्य का उपयोग करूंगा, जिनके पास एक दूसरे के सापेक्ष कोई अंतर्निहित आदेश या स्थिति नहीं है, और उन लोगों के लिए स्थिति (जो शायद ऑफ-स्टैंडबाय-ऑन?)। लेकिन यह एक अच्छा अंतर है।


1

मैं (खातों, ग्राहकों) से निपटने वाली बहुत सी इकाइयां एक राज्य (TX, VA, आदि) और एक स्थिति (सक्रिय, बंद, आदि) हो सकती हैं।

इसलिए भ्रामक शब्द के बारे में बात संभव है। हमारे पास एक मानकीकृत डेटाबेस नामकरण सम्मेलन है (मेरी व्यक्तिगत पसंद नहीं) जहां एक राज्य का नाम है ST_CDऔर एक स्थिति होगी ACCT_STAT_CD

एक ऊ ओ मिलियक्स में एक एनुम के साथ, यह मुद्दा उतना महत्वपूर्ण नहीं है, क्योंकि यदि आपके पास सख्त प्रकार की सुरक्षा है, तो संकलक यह सुनिश्चित करेगा कि कोई भी ऐसा करने का प्रयास न करे:

theCustomer.State = Customer.Status.Active;

यदि आप एक गतिशील वातावरण में हैं, तो मुझे अधिक चिंता होगी!

यदि आप एक ऐसे डोमेन के साथ काम कर रहे हैं जहां राज्य की मशीनें या अन्य राज्य की जानकारी और वह शब्दावली प्रमुख है, तो मुझे लगता है कि राज्य पूरी तरह से ठीक है।


पता ग्राहक के पते का है, प्रति ग्राहक ग्राहक का नहीं, उदाहरण के लिए, theCustomer.MailingAddress.State = Iowa;
शाम

संभवतः, और संभवतः नहीं। यह एक जन्म की स्थिति या निवास की स्थिति भी हो सकती है जब किसी व्यक्ति को किसी पते से अनुपस्थित किया जाता है, और निश्चित रूप से कई अन्य संस्थाओं जैसे पते, लाइसेंस, परमिट आदि से जुड़ा जा सकता है, किसी भी मामले में, मुझे यकीन नहीं है। यह इस सवाल के लिए प्रासंगिक है कि क्या राज्य मशीन / ध्वज / स्थिति के कार्यान्वयन-विशिष्ट के लिए राज्य की तरह एक सामान्य समस्या डोमेन शब्द का उपयोग करने के साथ अस्पष्टता है। और फिर राज्य या स्थिति के अलग-अलग अर्थ हैं या नहीं।
कैड रूक्स

0

हमने कुछ समय पहले अपने वर्तमान प्रोजेक्ट पर यह सटीक बहस की थी। मेरी वास्तव में प्राथमिकता नहीं है, लेकिन संगति एक महत्वपूर्ण विचार है।

मेरे शार्प पीडब्लू-ई 550 (एक भयानक शब्दकोश, मैं जोड़ सकता हूं) में "राज्य" की पहली (कई) परिभाषाएं हैं "विशेष स्थिति यह है कि कोई व्यक्ति या कुछ एक विशिष्ट समय पर है।" "स्टेटस" की पहली परिभाषा "रिश्तेदार सामाजिक, पेशेवर, या किसी और चीज के अन्य खड़े" है। यहां तक ​​कि "स्थिति" की दूसरी (और अंतिम) परिभाषा इस संदर्भ में "राज्य" से नीच है: "किसी विशेष समय में मामलों की स्थिति, राजनीतिक या वाणिज्यिक संदर्भों में esp।"

इसलिए अगर हम चाहते थे कि यह मेरे शब्दकोश का उपयोग करने वाले किसी व्यक्ति के लिए जितना संभव हो सके (यह न्यू ऑक्सफोर्ड अमेरिकन डिक्शनरी, 2001 का उपयोग करता है), "राज्य" सबसे अच्छा विकल्प होगा।

इसके अलावा, गैंग ऑफ़ फोर में एक डिज़ाइन पैटर्न का वर्णन किया गया है जिसे स्टेट पैटर्न कहा जाता है, कंप्यूटिंग लीक्सिकॉन में शब्द को मजबूती से स्थापित करता है।

इन कारणों से मैं "राज्य" का सुझाव देता हूं।

PS क्या आप DDM हैं? क्या आप अभी भी "राज्य" बनाम "स्थिति" के बारे में कड़वे हैं? !!!!!!! LMAO!


-1

खैर, वे एक ही बात मतलब है। मुझे नहीं लगता कि एक के बाद एक दूसरे की महान पसंद को बढ़ावा देना आवश्यक है, लेकिन मैं आम तौर पर "स्थिति" के साथ जाऊंगा, क्योंकि मुझे ऐसी चीजें पसंद हैं जो लैटिनेट और क्लासिकिस्ट को पसंद करती हैं। मेरा मतलब है, मेरी दुनिया में, स्कीमा का बहुवचन स्कीमाटा है, इसलिए मेरे साथ जाने के लिए इसके लिए कोई अन्य रास्ता नहीं है।


वे एक ही बात मतलब नहीं है।
ब्रेनस्ल्गस83

इस प्रश्न का संदर्भ सॉफ्टवेयर है, यही वजह है कि प्रश्न मान्य है। कंप्यूटर सिस्टम को हमेशा सिस्टम के विभिन्न हिस्सों की स्थिति / स्थिति को निर्धारित करना और रिपोर्ट करना होता है और सॉफ़्टवेयर को डीबग करना या सुधारने वाले लोगों के लिए वर्णनात्मक रूप से नामकरण करना बहुत महत्वपूर्ण हो जाता है।
19 को इकट्ठा

-1

सोफिस्टिंक, मुझे यकीन है कि आपको स्टेट और स्टेटस दोनों के लिए तर्क मिलेंगे। सबसे महत्वपूर्ण बात यह है कि आप एक को चुनें, और केवल एक का उपयोग करें। मैं आपकी टीम के साथ इस पर चर्चा करने का सुझाव दूंगा और देखूंगा कि हर कोई इससे सहमत है।

उस ने कहा, मेरा सुझाव इस प्रकार है।

मान लें कि आप ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषा का उपयोग कर रहे हैं, तो ऑब्जेक्ट का "स्टेट" ऑब्जेक्ट द्वारा ही दर्शाया जाता है। SomeObject.state imo को भ्रमित कर रहा है। मुझे यकीन नहीं है कि आपके उदाहरण में "स्थिति" क्या दर्शाती है, लेकिन राज्य के लिए यह पसंद करने के लिए मेरा प्राकृतिक अंतर्ज्ञान है।


1
एक को चुनना और केवल एक के साथ रहना बेतुका है। दोनों के अलग-अलग अर्थ और निहितार्थ हैं। उदाहरण के लिए "GameState" बनाम "GameStatus" पर विचार करें - दोनों के बहुत अलग निहितार्थ हैं और विनिमेय नहीं हैं।
ब्रेनस्ल्गस83

-2

बिलकुल एक ही बात नहीं। रोक दिया और शुरू कर दिया राज्यों रहे हैं। रोकना और शुरू करना स्टेटस है।

यदि आप उन्हें एक ही चीज बनाते हैं तो आप वाहन को कैसे रोकते हैं, लेकिन वर्तमान में शुरू कर रहे हैं। या एक आवेदन जैसा कि वर्तमान में दर्ज किया गया है, लेकिन अभी तक अनुमोदन प्रक्रिया में प्रवेश नहीं किया है या अनुमोदित किया जा रहा है, लेकिन वर्तमान में हस्ताक्षर की प्रतीक्षा करने की त्रुटि स्थिति के साथ है?


1
ओपी एक या दूसरे का उपयोग करने के बारे में पूछ रहा था; दोनों नहीं। कोई यह तर्क दे सकता है कि Startingवास्तव में इससे Stateपूरी तरह अलग है Stoppedयह आपके सिस्टम के शब्दार्थों पर निर्भर करता है । उदाहरण के लिए, Windows सेवाएँ देखें।
एंड्रयू बार्बर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.