java - चेकस्टाइल में डिफ़ॉल्ट रूप से संरक्षित चर की अनुमति क्यों नहीं है?




oop checkstyle (2)

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

मुझे इस तरह ग्रहण में बहुत चेतावनियां मिलती हैं:

वैरिएबल 'myVariable' निजी होना चाहिए और एक्सेसर तरीके हैं।

मुझे लगता है कि मैं उन्हें प्राप्त करता हूं क्योंकि मैंने सुरक्षित सेट नहीं किया था लेकिन यह डिफ़ॉल्ट रूप से गलत क्यों सेट है? क्या मुझे संरक्षित विशेषताओं का उपयोग नहीं करना चाहिए?


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

इनकैप्सुलेशन न सिर्फ क्लास स्तर पर मौजूद है, पैकेज, सिस्टम पर भी लगाया जाता है और इसी तरह। और मुझे लगता है कि ये स्तर अधिक महत्वपूर्ण हैं।





checkstyle