2011-01-18 23 views
35

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

यही कारण है कि मैं सोच रहा हूं कि आप लोग अपनी आंतरिक कक्षाओं को कहां घोषित कर रहे हैं।

मैं, निम्न विधि आदेश योजना अनुसरण कर रहा हूँ, क्योंकि यह काफी आम है:

public void foo() { 
    usedByFoo(); 
} 

private void usedByFoo() { 
} 

public void bar() { 
} 

मैं ऊपर से नीचे तक उन्हें ऑर्डर, हर विधि के रूप में जहां यह प्रयोग किया जाता है के करीब है।

अब मैं इस तरह भीतरी वर्गों के साथ भी ऐसा ही कर सकता है,:

class Outer { 
    private Inner inner; 

    private class Inner {}; 

    public Outer() { 
    } 

    ... 
} 

मुझे लगता है कि यह सबसे सुसंगत शैली मेरे लिए पालन करने के लिए है, लेकिन मैं भी अक्सर देखा लोगों को सभी इनर क्लासों या तो घोषित कर दिया है फ़ाइल के शीर्ष पर या नीचे।

ऑर्डरिंग विधियों के तरीके के अनुसार मुझे किस शैली का पालन करना चाहिए? ऐसा करने का सबसे आम तरीका क्या है?

+1

मुझे लगता है कोड शैली बहुत ही व्यक्तिपरक है ... हो सकता है कि मैं गलत हूं। बस चीजों से बाहर नरक दस्तावेज करें। –

+1

शायद यह http://programmers.stackexchange.com/ –

+0

@ एमीर हाँ पर कोडिंग-शैली के प्रश्नों में बढ़ता है वहाँ –

उत्तर

42

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

+6

मैं इसमें जोड़ दूंगा कि अगर इतने सारे आंतरिक वर्ग हैं जो भ्रमित हो जाते हैं, तो उनमें से कुछ को शीर्ष स्तर के वर्गों में बाहर करने का समय है। – biziclop

+0

बहुत अधिक अपवॉट्स और कोई अन्य जवाब नहीं, अनुमान है कि जाने का रास्ता है फिर, धन्यवाद! –

9

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

यदि कक्षाओं के तरीकों और आंतरिक वर्गों के साथ कक्षा बहुत कमजोर हो जाती है, हालांकि यह शायद एक खराब डिजाइन विकल्प है (समेकन बहुत कम है।) मैंने कभी-कभी कक्षाओं को दुर्घटना से इस तरह से जाने दिया है और वे बाद में निपटने के लिए भयानक हैं - इन दिनों यदि मैं एक ऐसे तरीके से देख सकता हूं जिस तरह से मैं इसे आम तौर पर अपने पैकेज में भी रिफैक्टर कर दूंगा। यदि आप उस बिंदु पर पहुंच जाते हैं जहां आपको इतने सारे आंतरिक वर्ग मिलते हैं तो आप नहीं जानते कि उनके साथ क्या करना है, मैं यह दृष्टिकोण लेता हूं। यहां तक ​​कि कुछ ऐसे हैं जो इस कारण से आंतरिक कक्षाओं का उपयोग करने के खिलाफ सलाह देते हैं (हालांकि मैं असहमत हूं - वे सही तरीके से उपयोग किए जाने पर एक मूल्यवान संसाधन हैं, आपको केवल देखभाल करने की आवश्यकता है कि वे हाथ से बाहर नहीं निकलते हैं।

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