2015-09-29 6 views
5

क्या कोड के भविष्य की पठनीयता को खराब कर दिया जाएगा यदि मैंने उन्हें पूरे कोड में उपयोग किया था? उदाहरण का उपयोग के लिए:स्थिर आयात और कोड पठनीयता गुणवत्ता का उपयोग कर?

import static java.lang.Integer.*; 

तो मैं जब आप स्थिर आयात का उपयोग करना चाहिए इस कोड

int a = parseInt(scanner.nextLine()); 
+11

सावधान रहें। यह 'parseInt' के लिए उपयोगी हो सकता है लेकिन' valueOf', 'toString',' min' या 'max' के लिए नहीं है (क्योंकि इन नामों के साथ कई तरीके हैं)। स्थिरांक 'SIZE',' MIN_VALUE' और 'MAX_VALUE' के लिए समान है। इसलिए, आपको '*' आयात नहीं करना चाहिए बल्कि 'स्थिर स्थिर java.lang.Integer.parseInt आयात करें'; – Holger

उत्तर

3

उपयोग कर सकते हैं? बहुत कम! केवल इसका इस्तेमाल जब आप अन्यथा स्थिरांक की स्थानीय प्रतियां घोषित करने के लिए, या विरासत (लगातार इंटरफ़ेस Antipattern)

दुरुपयोग अपने मामले एक वर्ग से स्थिर सदस्यों के सभी आयात कर रहा है विशेष रूप से हानिकारक हो सकता है के लिए परीक्षा होगी पठनीयता के लिए; अगर आपको केवल एक या दो सदस्यों की आवश्यकता है, तो उन्हें व्यक्तिगत रूप से आयात करें।

Link for more detail

+1

बाद के भाग में यह भी कहा गया है कि "उचित रूप से उपयोग किया जाता है, स्थिर आयात कक्षा के नामों की पुनरावृत्ति के बॉयलरप्लेट को हटाकर, आपके प्रोग्राम को और अधिक पठनीय बना सकता है।" तो मूल रूप से एक आयात का मामला जो मैं पार्सिंग पूर्णांक के लिए चाहता हूं सुधार के रूप में योग्यता करता है, है ना? बेशक, 'सिस्टम' जैसे कुछ आयात करना और फिर केवल' out.printf' का उपयोग करना एक बुरा विचार और भ्रमित होगा। –

+0

होल्गर ने टिप्पणी को जोड़ा –

0

केवल समय मुझे लगता है कि यह import static उपयोग करने के लिए उपयुक्त है जब Assert.assertXXX(...) का एक बहुत का उपयोग करते समय कुछ परीक्षण (JUnit, TestNG, आदि के साथ) कर रही है।

हर बार जब मैंने कोड की थोड़ी मात्रा में कुछ स्थिर कार्यों को बुलाया, तो मैं पठनीयता में सुधार करने के लिए बेहतर प्रतिक्रिया करता हूं (import static करने के बजाय)।

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