निम्नलिखित काम की तरह कुछ नहीं होगा?
if (methodName.equals("set" + this.name)
|| methodName.equals("get" + this.name)
|| (isBoolean() && methodName.equals("is" + this.name))) {
...
}
यह तरीका है जिसमें आप त्रिगुट ऑपरेटर का इस्तेमाल किया और निश्चित रूप से समझने में अधिक आसान की तुलना में अधिक पठनीय है। यह भी लाभ है कि यह isBoolean
विधि के लिए एक अनावश्यक विधि कॉल से बच सकता है (इसमें या तो 1, 2 या 4 विधि कॉल हैं जबकि आपके पास हमेशा 1 या 3 है; प्रदर्शन लाभ/हानि शायद नोटिस करने में बहुत कम है)।
इसके अलावा वहाँ एक समान प्रश्न यहाँ शीर्षक "Is this a reasonable use of the ternary operator?" एक उपयोगकर्ता the following to say था है:
त्रिगुट ऑपरेटर वापसी एक मूल्य के लिए है।
आईएमओ, इसे राज्य को म्यूटेट नहीं करना चाहिए, और वापसी मूल्य का उपयोग किया जाना चाहिए।
अन्य मामले में, यदि बयानों का उपयोग करें। यदि कथन कोड ब्लॉक्स निष्पादित करने के लिए हैं।
ध्यान दें कि मैं पठनीयता के लिए '& &' वाले अभिव्यक्ति के आसपास कोष्ठक शामिल थे। वे आवश्यक नहीं हैं क्योंकि x && y
का मूल्यांकन m || n
से पहले किया गया है।
चाहे आप इसका उपयोग करना चुनते हैं, आप पर निर्भर है, लेकिन मैं इसे पठनीयता के पक्ष में टालना चाहता हूं।
क्या आप मौजूदा जावबीन मैपिंग टूल्स से अवगत हैं? ** बहुत कुछ ** :) – BalusC
मेरे पास योगदान करने के लिए विशेष रूप से पर्याप्त कुछ भी नहीं है, लेकिन यहां तक कि जो कोई टर्नरी ऑपरेटर से प्यार करता है, मुझे यह भी ध्यान रखना चाहिए कि कुछ लोग दृढ़ता से मानते हैं कि इसे बहुत ही कम इस्तेमाल किया जाना चाहिए। वे लोग शायद आपके उपयोग को पीओ-पोह करेंगे। –
@ बालससी: मेरी जावाबीन गतिविधि का शानदार अनुमान। मैं सिर्फ शौक और व्यक्तिगत उपयोग के लिए इसे लागू कर रहा हूं, प्रत्येक सेटटर में बस 'super.property (newValue)' द्वारा बीन्स के अंदर वाक्यविन्यास की सफाई कर रहा हूं। ;-) लेकिन मुझे उनके बारे में पता है, उल्लेख करने के लिए धन्यवाद। – Pindatjuh