हर बार जब मैं कुछ जावा स्रोत कोड देखता हूं, तो मुझे अपने फ़ोल्डर में सर्फिंग मिलती है जिसमें फ़ोल्डर होता है जिसमें फ़ोल्डर होता है जिसमें फ़ोल्डर होता है। जावा को इतने सारे नेस्टेड फ़ोल्डर्स की आवश्यकता क्यों होती है, जिसमें नए को छोड़कर उनमें कुछ भी नहीं है सबफ़ोल्डर?जावा स्रोतों में एक दूसरे के अंदर इतने सारे फ़ोल्डर्स क्यों हैं?
उदाहरण के लिए: https://github.com/halfninja/android-dragcontrol3d/tree/master/src/uk/co/halfninja/android शायद सबसे खराब उदाहरण नहीं है यही कारण है कि है, लेकिन वहाँ दो फ़ोल्डर्स "ब्रिटेन" और "सह" है कि बस मतलब नहीं है कर रहे हैं। मैं इसे केवल जावा स्रोतों में देखता हूं!
और उदाहरण minicraft के लिए: http://www.ludumdare.com/compo/ludum-dare-22/?action=preview&uid=398
import com.mojang.ld22.gfx.Font;
import com.mojang.ld22.gfx.Screen;
import com.mojang.ld22.gfx.SpriteSheet;
क्यों सिर्फ लिख नहीं:
import gfx.Font;
import gfx.Screen;
import gfx.SpriteSheet;
इतना क्लीनर है कि।
(मैं जावा में कभी नहीं प्रोग्राम किया गया है।)
क्या होगा यदि मैंने एक जीएफएक्स लाइब्रेरी बनाई है, और आपने एक बनाया है - जो भी दोनों का उपयोग करने की आवश्यकता है, उसके लिए एक संघर्ष होगा। – nos
जो आप 'फ़ोल्डर' के रूप में सहजतापूर्वक वर्णन करते हैं, इसका अर्थ यह नहीं है। आप पहचान सकते हैं कि वे डोमेन नाम उलटा हैं: डोमेन नाम 'mojang.com' के लिए 'com.mojang'। उद्देश्य बिल्कुल वही है: एक अद्वितीय नाम प्रदान करना। देखें: http://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html – mins
यह एक अच्छा सवाल है, और ऐसा लगता है कि किसी ने भी पर्याप्त उत्तर नहीं दिया है। नीचे दिए गए सभी उत्तरों का कहना है कि यह अन्य पैकेजों के साथ संघर्ष को रोकने के लिए है। नेस्टिंग कक्षाएं कई उपफोल्डर गहरे * काम * संघर्षों को रोकने में मदद करते हैं, लेकिन फाइल सिस्टम को इस तरह से * दुरुपयोग किए बिना इसे प्राप्त करने के लिए बहुत साफ तरीके हैं। उदाहरण के लिए, प्रत्येक व्यवसाय में "संगठन" फ़ोल्डर हो सकता है उदा। 'com.company.section' और फिर उस फ़ोल्डर के भीतर, कक्षाओं को 'योग्य.package.ClassName.class' या यहां तक कि' योग्य/पैकेज/ClassName.class' भी नामित किया जा सकता है। – ricovox