2015-07-08 4 views
7

हमने एक सम्मेलन अपनाया है कि एक "गैर-स्पष्ट" पैरामीटर के साथ सी # फ़ंक्शन को कॉल करते समय, हम आवश्यक नाम होने पर भी नामित पैरामीटर का उपयोग करते हैं।रिशेर्पर - कोड क्लीनअप करते समय नाम पैरामीटर रखें

उदा।

obj.Process(save: true) 

बजाय

obj.Process(true) 

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

हालांकि, resharper के कोड क्लीनअप में इन्हें हटाने की आदत है। मैं नामित पैरामीटर रखने के लिए इसे बताने का कोई तरीका नहीं ढूंढ पाया - क्या कोई है?

उत्तर

9

यद्यपि आप यह कार्य करके प्राप्त कर सकते हैं क्या @EricWalker कहा, मैं एक और विकल्प का प्रस्ताव करना चाहते हैं।

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

+0

धन्यवाद, यह वही है जो मैं चाहता हूं (विशेष रूप से यह तथ्य कि यह स्थिरांक और अन्य अभिव्यक्तियों के साथ अलग-अलग सौदा कर सकता है, जो हमारा सबसे आम मामला है)। एक शर्म की बात है कि आप "संकेत लेकिन सफाई नहीं कर सकते" कह सकते हैं। –

+0

हां यह सच है:/ – Matthias

+2

धन्यवाद @ माथियास, यह पता चला कि वहां एक बेहतर तरीका होना चाहिए था, लेकिन मुझे पता नहीं था कि निरीक्षण गंभीरता और कोड क्लीनअप इस तरह से जुड़े थे। आज कुछ नया सीख लिया। –

1

की स्थापना आप देख रहे हैं कोड सफाई \ सी # \ निकालें कोड अतिरिक्तताओं किया जा रहा है

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

आप इस मुद्दे के आसपास काम करने के लिए कोड क्लीनअप में विभिन्न प्रोफाइल सेट करने में सक्षम हो सकते हैं, लेकिन आप समाधान के लिए JetBrains लोगों से पूछने के लिए बेहतर भाग्य चाहते हैं।

HTH,
एरिक

0

अद्यतन:

ऐसा लगता है कि इस समाधान नहीं रह गया है v2017.1.3 के साथ शुरू काम करता है (2017-08-28)


मैं वर्तमान में ReSharper v2017.1 उपयोग कर रहा हूँ (2017 -06-01) और ऐसा लगता है कि जेटब्रेन ने अभी तक इस समस्या को हल नहीं किया है।

@Colin Harkness के रूप में, वर्तमान में "नामित पैरामीटर" रखने के लिए अंतिम उपाय "नामांकित तर्क" के लिए नामांकित अभिव्यक्तियों (चर, गुण, विधियों, आदि) "विकल्प को सेट करना है।

यह निश्चित रूप से सबसे अच्छा तरीका नहीं है।

enter image description here

अद्यतन:

मैं एक छोटे से चाल जेटब्रेन्स 'मंच पर पाया। आप फ़ाइल के शीर्ष पर कोड की इस पंक्ति को जोड़कर नाम पैरामीटर पर एक रिडंडेंसी के रूप में विचार कर रद्द कर सकते हैं।

// ReSharper disable ArgumentsStyleNamedExpression 

आपको रीशेपर सेटिंग्स के भीतर कुछ मामूली कॉन्फ़िगरेशन करना है। // स्वचालित रूप से अक्षम तर्कों को स्वचालित रखने के लिए // ReSharper ArgumentsStyleNamedExpression सरल, मैंने फ़ाइल हेडर टेक्स्ट पर यह निर्देश जोड़ा है जैसा कि अंजीर में दिखाया गया है। 2.

enter image description here Fig.2 - ArgumentsStyleNamedExpression नियम

जोड़े उसके बाद, आप अद्यतन फ़ाइल शीर्षक की जाँच करने के लिए हैकोड सफाई विन्यास में विकल्प के रूप में चित्र में दिखाया गया है। 3

enter image description here Fig.3 - चेक "अपडेट फ़ाइल शीर्षक" विकल्प

इस मामले में, जब एक कोड की सफाई शुरू होता है, यह पहली बार ArgumentsStyleNamedExpression नियम जोड़ता है, और फाइल करने के लिए कोड शैली लागू ।

इस नियम को जोड़ने के बाद, आप उपकरण पर जा सकते हैं। विकल्प | पर्यावरण | फ़ॉन्ट्स और रंग | ReSharper पैरामीटर पहचानकर्ता और भेद तर्क और पैरामीटर नाम नेत्रहीन करने के क्रम में इस मामले के लिए पर प्रकाश डाला रंग बदलने के रूप में चित्र में दिखाया गया है 4.

enter image description here

Fig.4 - पैरामीटर नाम


दुर्भाग्य से, तर्कों के नाम रखने का यह तरीका हमेशा काम नहीं करता है (ReSharper चुनिंदा शब्दों के नामों को चुनिंदा/हटा सकता है)।

+1

2017.1.3 –

+1

@MarcelPopescu के साथ मेरे लिए काम नहीं कर रहा, मैंने इसे v2017.1.3 के साथ आजमाया है । ऐसा लगता है कि यह समाधान अब काम नहीं करता है। –

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