2010-11-06 8 views
25

जैसे फ़ील्ड पूरी तरह से निजी हैं, किताबों, लेखों आदि में अक्सर स्पष्ट घोषणा क्यों होती है?क्यों स्पष्ट रूप से "निजी" लिखते हैं?

+0

घोषित किए जाने की आवश्यकता इस्तेमाल किया घोषणा [आप निजी उपयोग संशोधक का उपयोग करना चाहिए अगर यह अनावश्यक है?] (Https: // stackoverflow .com/प्रश्न/254912/आप-निजी-उपयोग-संशोधक-अगर-इसका-अनावश्यक) –

उत्तर

60

क्योंकि डिफ़ॉल्ट पहुंच स्तर भाषा में भिन्न होते हैं, और कई से अधिक भाषा में कई लोग प्रोग्राम करते हैं। भ्रमित हो जाना आसान है, या तो लेखक के रूप में या बाद में कोड पढ़ने वाले किसी व्यक्ति के रूप में, स्पष्ट रूप से स्पष्ट रूप से निपटने के लिए स्पष्ट है।

+0

+1 भाषा परिवर्तनशीलता के बारे में उत्कृष्ट बिंदु। –

+1

आप और अधिक सही नहीं हो सकते हैं, यह जवाब के रूप में ध्वजांकित नहीं किया गया है?यह – Proclyon

+2

@Proclyon होना चाहिए, शायद इसलिए कि उत्तर को स्वीकार करने से पहले 2 घंटे की देरी लागू होती है;) –

13

अपना कोड अच्छा दिखने के लिए :)।

आप सही हैं, यह आवश्यक नहीं है, लेकिन वैसे भी उन्हें लिखना कस्टम है। कम से कम, प्रत्येक विधि का विशेषाधिकार स्पष्ट रूप से ध्यान दिया जाता है और यह आपके कोड को पढ़ने में आसान बनाता है।

+0

कोडिंग एक कला से अधिक कला है और कला सुंदर होना चाहिए। :) – Samuel

6

कभी-कभी स्पष्ट रूप से स्पष्ट स्पष्ट होता है, और यह तब भी अधिक होता है जब आप शैक्षणिक सामग्री लिख रहे हों। उन लोगों के लिए जो डिफ़ॉल्ट पहुंच स्तर के नियमों को नहीं जानते या याद नहीं कर सकते हैं, उनके लिए कोड पढ़ने के दौरान चिंतित होना एक कम बात है।

संबंधित प्रश्न

सी # में सब कुछ के लिए डिफ़ॉल्ट पहुँच "सबसे प्रतिबंधित एक्सेस आपको लगता है कि सदस्य के लिए घोषित कर सकता है।"

5

क्योंकि आप रखरखाव और स्पष्टता के लिए कोड लिखते हैं, विशेष रूप से कोड नमूने में। प्रोग्रामर के लिए नहीं, संकलक के लिए लागू घोषणाएं हैं। अपने चर के दृश्यता और दायरे को स्पष्ट रूप से घोषित करने में विफल होने से आपके इरादे अस्पष्ट हो जाते हैं। क्या यह वास्तव में बहुत अधिक टाइपिंग है?

2

आपको याद रखना होगा कि किसी भी समय इसे पढ़ने के लिए कोड किसी और के साथ समाप्त हो सकता है, यह आपको 6 महीने में हो सकता है और आपको इरादे को समझने की आवश्यकता है। कुछ निजी साधनों को घोषित करना कि आप उन विशेष कार्यान्वयन विस्तारों को उपलब्ध नहीं कर रहे हैं जो इसका उपयोग कर सकते हैं (इस समय समय पर), बाद में संशोधन उस तरीके को बदल सकते हैं जो विशेष चीज़ काम करता है और यदि आप पिछड़े संगतता प्रदान करना चाहते हैं, यदि यह शुरुआत से सार्वजनिक रहा है, तो इसे भविष्य के संशोधन में रहना होगा।

19

निहित घोषणाओं के साथ समस्या यह है कि पाठक यह नहीं बता सकता कि कोड लिखने वाले व्यक्ति ने निहित घोषणा की थी या बस कुछ भी लिखना भूल गया था। स्पष्ट होने से इरादों के बारे में कोई संदेह नहीं है।

+0

पूरी तरह से आपसे सहमत हैं। यह यूएमएल डेटाबेस आरेख में कार्डिनालिटी के समान है; इसे निर्दिष्ट किए बिना, आप नहीं जानते कि ऐसा क्यों है क्योंकि लेखक डिफ़ॉल्ट मान चाहता है या यदि वह इसे परिभाषित करना भूल गया है। – Samuel

1

मेरी राय में यह कोड को बेहतर पठनीय बनाता है। मुझे डिफ़ॉल्ट एक्सेस संशोधक के बारे में सोचना नहीं है। यह StyleCop द्वारा भी लागू किया गया है, एक उपकरण जो मैं लगातार कोडिंग शैली सुनिश्चित करने के लिए उपयोग करता हूं।

1

स्पष्ट तुमसे कहा था करने के लिए है कि चर जानबूझ कर व्यक्तिगत रूप में सेट है और यह भी देखें के रूप में निजी