मुझे इस तरह एक विधि हस्ताक्षर मिला है।

List<CngCollectionStatement> findCollectionStatements(Boolean posted);

जैसा कि हम सभी बूलियन जानते हैं, एनम आपको एक सीमित मूल्य देगा। उदाहरण के लिए बूलियन सही या गलत देगा।

तो यह विधि या तो रिकॉर्ड को सही या गलत के साथ वापस कर देगी। क्या होगा यदि हम उन दोनों को प्रदर्शित करना चाहते हैं? मेरा मतलब सभी रिकॉर्ड प्रदर्शित करना है?

इस समस्या के लिए सबसे अच्छा अभ्यास क्या है?

-1
snso 9 सितंबर 2019, 11:28
3
आप Boolean का उपयोग कर रहे हैं, boolean का नहीं। इसका मतलब है कि आप null पास कर सकते हैं। लेकिन मैं एक enum का उपयोग स्थिरांक POSTED, NOT_POSTED, ALL के साथ करने की सलाह दूंगा।
 – 
f1sh
9 सितंबर 2019, 11:29
मैं इस मामले में अशक्त से बचने की कोशिश कर रहा हूँ
 – 
snso
9 सितंबर 2019, 11:33
अगर आप यहां null (या एक खाली वैकल्पिक) पास नहीं करना चाहते हैं, तो आपके पास दो अलग-अलग तरीके भी हो सकते हैं (एक जो फ़िल्टर करता है और दूसरा जो नहीं करता है)। वे अपने कार्यान्वयन में दोहराव से बचने के लिए अभी भी उसी निजी पद्धति को भेज सकते हैं।
 – 
Thilo
9 सितंबर 2019, 11:35
क्या आप List<CngCollectionStatement> findUnpostedCollectionStatements(); List<CngCollectionStatement> findPostedCollectionStatements(); जैसा कुछ सुझाते हैं
 – 
snso
9 सितंबर 2019, 11:37
1
स्टैक ओवरफ़्लो के लिए कार्य कोड को पुन: सक्रिय करने के बारे में प्रश्न ऑफ-विषय हैं। कोड समीक्षा आज़माएं।
 – 
Michael
9 सितंबर 2019, 11:37

2 जवाब

पैरामीटर के रूप में बूलियन ध्वज कोड को कम पठनीय बनाता है। मैं आपकी विधि को अधिक विशिष्ट नामों के साथ 3 अलग-अलग विधियों में विभाजित करने की अनुशंसा करता हूं:

findPostedStatements()
findUnpostedStatements()
findAllStatements()
1
Vladimir 13 सितंबर 2019, 12:09

हालांकि Set<Boolean> वही लगता है जो आप चाहते हैं, फिर भी यह थोड़ा गड़बड़ लगता है।

इसलिए:

List<CngCollectionStatement> findCollectionStatements(boolean posted, boolean unposted);
0
Joop Eggen 9 सितंबर 2019, 11:33
क्या होगा यदि मैं पैरामीटर के रूप में एनम का उपयोग करता हूं? आप क्या सलाह देते हैं?
 – 
snso
9 सितंबर 2019, 11:35
यह स्पष्ट होगा, व्यक्तिगत रूप से मैं इसे तब करूंगा जब कम से कम एक अन्य एपीआई कॉल से लाभ होगा, या अधिक पैरामीटर थे। या आंतरिक कोड इससे लाभान्वित होगा (एक एनम में सार्वजनिक अंतिम फ़ील्ड POSTED, UNPOSTED, ALL से भिन्न हो सकते हैं)। साथ ही (false, false) अवांछनीय प्रतीत होते हैं।
 – 
Joop Eggen
9 सितंबर 2019, 11:57