2009-09-03 6 views
31

मेरे पास सी # में एक इंटरफ़ेस है जो सर्वर पर कस्टम संग्रह से डेटा पुनर्प्राप्त करने में मदद करता है। इंटरफ़ेस इस तरह दिखता है:नामकरण सम्मेलन: एक बूलियन लौटने वाली विधि का नाम क्या है?

public interface IRetrieveData 
{ 
    bool OkToRetrieve(SomeData data); // Method in question... 
    bool RetrieveToLocal(SomeData data); 
} 

यह इंटरफ़ेस उन ग्राहकों द्वारा लागू किया गया है जो डेटा को स्थानीय डेटाबेस में पुनर्प्राप्त करते हैं। ऐसे ग्राहकों के विभिन्न स्वाद हैं जिनके पास एक-दूसरे के डेटा तक पहुंच है। इसलिए, जब प्रसंस्करण घटक वास्तविक पुनर्प्राप्ति से ठीक पहले IRetrieveData.OkToRetrieve को कॉल करता है, तो कॉल क्लाइंट कोड पर जाता है जहां निर्णय लिया जाता है कि डेटा को पुनर्प्राप्त किया जाना चाहिए या नहीं। इस बिंदु पर ग्राहक झूठी वापसी कर सकता है और डेटा का वह टुकड़ा छोड़ दिया जाता है या सत्य वापस आ जाता है और प्रसंस्करण घटक पुनर्प्राप्ति टोलोकल को कॉल करता है और उस डेटा को क्लाइंट को भेजता है जो उसके बाद प्रक्रिया करता है।

जहां मैं उलझन में हूं, यह है कि "ठीक करने के लिए" या "CanRetrieve" विधि को ठीक करने के लिए "OkToRetrieve" विधि का नाम बदलें या इसे OkToRetrieve के रूप में छोड़ दें।

क्या किसी के पास कोई सुझाव है?

उत्तर

52
IsRetrievable() 

मुझे लगता है कि एक विधि जो बूलियन मान देता है उसे हां-कोई प्रश्न नहीं माना जाना चाहिए। कि हाँ या जवाब दिया जा सकता नहीं।

आपके मामले में सवालों के समान नाम के साथ

+8

होना चाहिए मैं 'is' हिस्सा पसंद है, लेकिन बस इसे पुनः प्राप्त करने योग्य है, क्योंकि यह इसे पुनः प्राप्त करने के लिए ठीक है मतलब यह नहीं है। मैं इसे 'isOKToRetrieve' –

+1

बिल्कुल कहूंगा। हमारी टीम पर "है" उपसर्ग एक कोडिंग मानक है। – Rap

+1

एएलएल मैं एरिज़ के उत्तर में जोड़ूंगा, (और यह एक नाइटनोई है) यह एक भेदभाव करना है कि यह कार्य सटीक रूप से क्या देख रहा है ... क्या यह डेटा पुनर्प्राप्त करने योग्य है या क्या वर्तमान कोड इसे पुनर्प्राप्त कर सकता है, या क्या इसे इसे पुनर्प्राप्त करना चाहिए, इत्यादि। उदाहरण के लिए, यदि फ़ंक्शन डेटा की वैधता की जांच कर रहा है और 'डेटा पुनर्प्राप्ति को अधिकृत करता है, जब डेटा शर्तों के कुछ सेट को पास करता है, तो IsComplete() या IsValid, या IsTransactionallyConsistent, या कुछ ऐसा है 'पास' के लिए किए जा रहे चेक की प्रकृति का वर्णन कुछ हद तक अधिक जानकारीपूर्ण हो सकता है। –

15

Allways नाम बूलियन तरीकों, CanRetrieve एक अच्छा नाम (सिर्फ अपने खुद के सुझाव का उपयोग करने) होगा।

+0

'can'! =' चाहिए '। ग्राहक कोड आपको इसे पुनर्प्राप्त करने से नहीं रोकता है, इसलिए मुझे लगता है कि 'quRetrieveve' एक बेहतर नाम है, जैसा कि @ dannie.f प्रस्तावित है। – problemofficer

1

CanRetrieve मुझे ठीक लगता है। मैंने देखा है माइक्रोसॉफ्ट एपीआई में इस्तेमाल किया जाने वाला स्टेम। एकमात्र अन्य असली विकल्प आईएमओ IsRetrievable (अज़ीज़ से) है जो किसी भी तरह से भाषाई रूप से मुड़ता हुआ लगता है!

1

यदि आप और अधिक नियंत्रण और isRetrievable() आप इस्तेमाल कर सकते हैं उपयुक्त नहीं है कर रहे हैं:

IsValid() 
1

मैं वेरिएंट से अधिक isOKToRetrieve या isRetrieveOK पसंद करेंगे बिना परंपरा है कि कार्य करता है और तरीकों के तहत होना चाहिए "है" क्रियाएं।

3

तरीकों का मतलब कार्रवाई है। इसलिए, मैं एक क्रिया के साथ शुरू करने के लिए विधि नाम पसंद करते हैं। कैसा रहेगा?

CheckIsRetrievable(SomeData data) 
+12

"है" एक क्रिया है ... –

+4

यह इस बात पर निर्भर करता है कि 'है' शब्द का अर्थ क्या है। –

+1

@ मार्सेललैमोथ "इज़" "चेक" या "संग्रह" जैसी स्थिति को निहित नहीं करता है लेकिन एक राज्य। – KnorxThieus

5

इस विशिष्ट मामले में, मैं शायद इसे नाम चाहते हैं:

public bool IsReady (SomeData) 

यह अधिक स्पष्ट रूप से दर्शाता है कि इस रिटर्न एक बार true क्या होगा क्योंकि।

8

उपसर्ग 'चाहिए' का उपयोग करने के बारे में कैसे?

+0

यह सबसे अच्छा जवाब इम्हो है, क्योंकि नाम वर्णन करता है कि विधि वास्तव में कौन सी जानकारी लौटाती है। यह एक सिफारिश है और एक क्षमता नहीं है। – problemofficer

3

आपके उपयोग के मामले पर निर्भर करता है। मैं उन्हें इस तरह के रूप में शब्दों के साथ उपसर्ग चाहते 'है', 'करता है' या 'कर सकते हैं': IsSomePropertySoAndSo, DoesNounSupportFeature और अपने उदाहरण के रूप में CanVerb

0

MayRetrieve() एक बेहतर नाम यदि परिणाम उपयोगकर्ता की अनुमति के द्वारा निर्धारित किया जाता हो सकता है/पहुंच।

IsRetrievable() अधिक संदिग्ध है, जो अनुमति के अलावा या अन्य के अलावा अन्य विचारों के मामले में अधिक उपयुक्त हो सकता है।

0

नामकरण की परंपरा में, यह लिखा है कि विधि नाम क्रिया

संबंधित मुद्दे