6

जब रिशेर्पर अपने आप से तर्क देता है, तो कैसे पता चलता है कि कौन सा व्यक्तित्व अधिक विश्वास प्रदान करता है?क्या इन तर्कों को जोड़ा या हटाया जाना चाहिए?

मुझे लगता है कि मुझे कुछ कोड मिला है जो रिशेर्पर को भ्रमित करता है (यह जाहिरा तौर पर एक बहुत ही असामान्य मामला है - इसे एक दिन के लिए उपयोग करने के बाद, मुझे लगता है कि रिशेर्पर मधुमक्खी के घुटने/तरल रोटी आदि से सबसे बड़ी चीज है)। " 'RgbIV' तर्क नाम जोड़ने"

ताकि "तर्क नाम 'rgbkey' जोड़ने" और फिर

ICryptoTransform Encryptor = RijndaelCipher.CreateEncryptor(SecretKey.GetBytes(32), SecretKey.GetBytes(16)); 

Resharper मुझे को बताता है:

कोड की इस पंक्ति के साथ

लाइन तो है:

ICryptoTransform Encryptor = RijndaelCipher.CreateEncryptor(rgbKey: SecretKey.GetBytes(32), rgbIV: SecretKey.GetBytes(16)); 

जब मैं Resharper फिर से चलाने, हालांकि, यह कहते हैं,

"रिडंडंट तर्क नाम विनिर्देश" - "तर्क नाम विनिर्देश निकालें" (rgbkey) (और फिर rgbIV)।

ऐसा लगता है किसी भी तरह से ठीक काम करता है, हालांकि ...

+2

रिशेर्पर वास्तव में आपको यह नहीं बता रहा है कि किसी भी तरह से दूसरे की तुलना में बेहतर है, यह आपको कुछ मदद करने के लिए आपको "बल्ब एक्शन" दे रहा है, आपको इसकी आवश्यकता होनी चाहिए। – vcsjones

उत्तर

6

स्पष्ट पैरामीटर नामकरण अनिवार्य मानकों के आधार पर वैकल्पिक है, इसलिए दोनों रूप हैं "सही," सवाल है जो आप बेहतर पसंद है? वीसीएसजेन्स की तरह कहा, Resharper आपको अपनी वरीयताओं के अनुरूप कुछ रिफैक्टरिंग विकल्प दे रहा है।

+1

यह मामला होने पर, मुझे लगता है कि वे सिर्फ पर्याप्त अकेले छोड़ देंगे। यदि सड़क में एक कांटा में, एक यात्री एक कम-लेकिन-लगभग-समान यात्रा करता है, तो क्या कोई उसे बताता है, "अरे, क्या आपको नहीं पता कि यह टिंबुकु का मार्ग है?" (रॉबर्ट फ्रॉस्ट और योगी से माफ करना "यदि आप सड़क पर एक कांटा में आते हैं, तो इसे ले जाएं" बेरा। –

6

Resharper असल

लिए मुझसे कहता है, ऐसा नहीं है। चीजों की दो श्रेणियां हैं (व्यापक रूप से) उपयोगकर्ता द्वारा उपयोगकर्ता को संचारित किया जाता है: चीजें जो उपयोगकर्ता को लगता है करना चाहिए, और जो चीजें उपयोगकर्ता करना चाहते हैं, ताकि यह और अधिक तेज़ी से किया जा सके।

पहले का एक उदाहरण:

var i = 4; 
i = 5; 
DoSomething(i); 

4 का काम का उत्पादन करेगा "असाइनमेंट नहीं किया जाता है" निरीक्षण, बाईं मार्जिन में एक प्रकाश बल्ब आइकन के साथ, एक जल्दी ठीक की पेशकश इसे ठीक करने के लिए कार्रवाई (असाइनमेंट को हटाकर)।

दूसरे का एक उदाहरण:

if ((new Random()).Next() > 5) 
{ 
    DoSomething(); 
} 
else 
{ 
    DoSomethingElse(); 
} 

पोजिशनिंग if पर कर्सर बाईं मार्जिन में एक पेंसिल आइकन का उत्पादन करेगा, एक संदर्भ कार्रवाईif को उलटने की पेशकश की। यह नहीं कह रहा है कि होना चाहिए - यह कह रहा है, "अरे, अगर आप ऐसा करना चाहते हैं, तो बस इस मेनू आइटम का चयन करें और मैं इसे आपके लिए कर दूंगा"।

एक तर्क नाम जोड़ना दूसरी श्रेणी में एक संदर्भ कार्रवाई है। यदि आप इसे पेश नहीं करना चाहते हैं, तो आप इसे ReSharper | Options | Code Editing | C# | Context Actions में बंद कर सकते हैं।कोड निरीक्षण के लिए, पॉपअप मेनू स्वयं निरीक्षण गंभीरता को बदलने का अवसर प्रदान करता है; या आप उन सभी को ReSharper | Options | Code Isnpection | Inspection Severity में देख सकते हैं।

निजी तौर पर कुछ संदर्भ कार्यों मुझे नहीं लगता कि मैं कभी भी उपयोग किया है (उदाहरण के लिए "हेक्स में कन्वर्ट") कर रहे हैं, लेकिन वहाँ दूसरों है कि मैं तेजी से कोडिंग के लिए ?: और if और के बीच स्विच करने के विभिन्न संयोजनों अमूल्य लगता है (हैं इनवर्टिंग, उदाहरण के लिए)

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

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