2011-01-09 7 views
6

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

मैं सोच रहा था कि वहां वास्तव में कोई अच्छी किताब थी जो अलग-अलग (अधिमानतः जावा में) ओपन-सोर्स प्रोजेक्ट्स के अंशों के माध्यम से जाती है ताकि यह दिखाया जा सके कि पैटर्न का उपयोग कैसे किया गया है और कार्यान्वित किया गया है, कुछ निफ्टी चाल इत्यादि?

अद्यतन: मैंने डिजाइन पैटर्न को एक उदाहरण के रूप में लिया, लेकिन वास्तव में यह नहीं है कि मैं क्या कर रहा हूं। मैंने बहुत सारे ओपन-सोर्स कोड पढ़े, और मुझे अक्सर उन चीजों को करने के दिलचस्प तरीके मिलते हैं जिन्हें मैंने पहले नहीं सोचा था - मेरा सवाल यह है कि क्या कोई ऐसी किताब है जो कुछ "शांत" ओपन-सोर्स कोड दिखाती है, कैसे Clean Code रीफैक्टरिंग और अन्य बिंदुओं को चित्रित करने के लिए फिटनेस कोड का उपयोग करता है।

+1

आप कोड नमूने विशेष रूप से या सामान्य रूप से पैटर्न के लिए देख रहे हैं? यदि पैटर्न विभिन्न पैटर्न पर वहां कुछ किताबें हैं और उन्हें सर्वोत्तम तरीके से कैसे लागू किया जाए (और मुझे यकीन है कि यहां लोग सिफारिशों की पेशकश करने से ज्यादा खुश होंगे)। – R0MANARMY

उत्तर

5

की मूल बातें सीख रहे हैं तो ठीक है, आप ओपन सोर्स प्रोजेक्ट के बारे में सिर्फ पुस्तक पढ़ सकते हैं, और लेखक दिखा सकते हैं कि कैसे और कैसे। जैसे मैंने Pro Spring 2.5 पढ़ा है और यहां तक ​​कि "स्प्रिंग पैटर्न" नामक अध्याय भी है, जिसमें वे फाइलें, निर्देशिकाएं, डिज़ाइन पैटर्न का उपयोग क्यों करते हैं और उन्हें उपयोग करने के लिए आमंत्रित करते हैं। संभवतः ओपन सोर्स प्रोजेक्ट्स के बारे में किताबों पर नज़र डालें।

अद्यतन (उत्तर :) विस्तार करने के लिए सिर्फ इतना है कि पैरा डालने: जैसा कि मैंने पहले कहा था, आप ओपन सोर्स प्रोजेक्ट के बारे में पुस्तकों के माध्यम से देख सकते हैं और वहाँ जानकारी पा सकते हैं कि कैसे इस परियोजना विकसित की है, वास्तु मुद्दों आदि एक बार जब मैंने देखा "खुले/बंद सिद्धांत" के वास्तविक अच्छे उदाहरण के लिए, सिद्धांत अच्छा है लेकिन मैं यह नहीं कहूंगा कि इसका उपयोग कैसे किया जाए यह स्पष्ट है। मेरी मदद करने वाली एकमात्र पुस्तक Expert Spring MVC and Web Flow थी (मैंने पहले ही आपको उस अध्याय के साथ Google पुस्तकें की ओर इशारा किया था)। मैंने पूरी किताब नहीं पढ़ी, लेकिन मुझे यकीन है कि इसमें ऐसी कई चीजें हैं (वसंत करने के लिए क्या और कैसे इस्तेमाल किया गया था)। पुस्तक Clean Code: A Handbook of Agile Software Craftsmanship से मुझे याद है कि एक अध्याय है, जब वे एक ओपन सोर्स प्रोजेक्ट से कोड लेते हैं और इसे बेहतर बनाते हैं (दुर्भाग्य से ओपन सोर्स का मतलब यह नहीं है कि यह काफी अच्छा है); उस पुस्तक में संदर्भ भी शामिल है कि कुछ अन्य परियोजनाएं कहां लिखी गईं (उदा। जुनीट)। मुझे कोई भी पुस्तक नहीं पता है, जो कि किसी भी परियोजना के लिए पूरी तरह से समर्पित है, वहां केवल किताबें हैं जहां "सिद्धांत" है, और परियोजना के बारे में किताबें हैं जिनमें अंदर क्या है इसका कुछ स्पष्टीकरण हो सकता है। मैं एप्रेस (प्रो और विशेषज्ञ श्रृंखला, afaik "शुरुआत" किताबों में ऐसी स्पष्टीकरण नहीं है) की किताबों की सिफारिश करेंगे, और पैकेट प्रकाशन - उनका मुख्य विषय खुला स्रोत है।

अद्यतन 2 (बस :) बंद कर सकते हैं नहीं जहाजों से "Beautiful ...." पुस्तकों के बस याद नई श्रृंखला - मैं इसे कभी नहीं पढ़ा है, लेकिन मैं के माध्यम से देखा। इसमें वास्तव में विकास के पीछे विभिन्न कहानियां, जीवन से वास्तविक कहानियां शामिल हैं। मुझे लगता है कि Beautiful Code: Leading Programmers Explain How They Think भी है - मुझे आपकी आवश्यकता होनी चाहिए। अन्य "खूबसूरत" किताबें भी आपके समय के लायक हो सकती हैं।

सामान्य रूप से पैटर्न के बारे में बहुत अच्छी किताबें होती हैं, और यह इस बात पर निर्भर करती है कि आप वास्तव में क्या देख रहे हैं। जैसे Head First Design Patterns मजेदार तरीके से सामान्य पैटर्न को समझाने के लिए काफी अच्छा है। यदि आपको और अधिक चाहिए, तो आप Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions पर एक नज़र डालें, यह देखने के लिए कि विभिन्न एप्लिकेशन, सिस्टम इत्यादि को कैसे एकीकृत किया जा सकता है (और ओपन सोर्स प्रोजेक्ट्स भी इसे कैसे करते हैं)। आदि।

  1. Anti Patterns Catalog - पता है कि तुम क्या करने के लिए नहीं जा रहे हैं: अपने बुकमार्क में से)

    कुछ वेब लिंक, बस क्या पैटर्न या चाल आप के बारे में, समुदाय अपने सुझाव कर देगा पढ़ने के लिए चाहते हो निर्दिष्ट!

  2. Design Patterns और Martin Fowler's Catalog - कि कुछ ही देर में क्या इस्तेमाल करते हैं और के बारे में
  3. SOA patterns पता करने के लिए अच्छा है के बारे में है - पर एक नज़र लेने के लिए एसओए पैटर्न के लिए समुदाय साइट (एकीकरण आदि)

और कुछ और किताबें:

  1. Head First Object-Oriented Analysis and Design
  2. Agile Software Development, Principles, Patterns, and Practices
  3. Code Complete - इस किताब कैसे कोड लिखने के लिए की बस एक बाईबल है ...

लोग, जो खुला स्रोत विकसित निश्चित रूप से पता है के बारे में उन पुस्तकों क्या कर रहे हैं;)

आशा है कि मदद करता है

अद्यतन (25-05-2011) बस एक किताब है, जो मैं निश्चित रूप से खरीदने के लिए जा रहा पाया, और मैं इसे पूरी तरह से अपने प्रश्न के लिए फिट लगता है:

The Architecture of Open Source Applications
enter image description here

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

+0

इनमें से कुछ पुस्तकें सुझाव वास्तव में उत्कृष्ट हैं, लेकिन दुर्भाग्य से वे जो भी खोज रहे हैं उससे कम हो जाते हैं: उदाहरण के लिए, हेड फर्स्ट डिज़ाइन पैटर्न बहुत अच्छे हैं, लेकिन वास्तविक जीवन उदाहरण प्रदान नहीं करते हैं। कोड पूर्ण भी एक शानदार पढ़ा है, लेकिन यह काफी नहीं है, क्योंकि मैं केवल प्रमुख बिंदुओं को चित्रित करने के लिए छोटे उदाहरण प्रदान करता हूं। –

+0

मैं देखता हूं कि आपका क्या मतलब है, तो मैं सुझाव देता हूं कि वसंत के बारे में पुस्तक पहले अनुच्छेद में। एक बार जब मैंने "ओपन/क्लोज़ेड सिद्धांत" का उदाहरण देखा, और एक पुस्तक में मुझे मिली सबसे अच्छी व्याख्या ... मुझे आपकी बात मिल गई और मैं अपना जवाब थोड़ा सा विस्तारित करने जा रहा हूं। – Maxym

+0

को इंगित करने के लिए धन्यवाद, मैंने अपना जवाब पूरा करने के लिए दूसरा दौर भी बनाया। उम्मीद है कि यह मदद करता है ... अन्यथा मेरे उत्तर पर टिप्पणी करें, और मैं और सोचूंगा;) – Maxym

0

बेस्ट जावा पुस्तक वहाँ बिल्कुल है बाहर Head First Java, मैं कभी नहीं देखा है/के रूप में अजीब एक किताब पढ़ी के रूप में इस + यह सबसे आसान और सबसे मजेदार रूप में मुश्किल बातें बताते हैं। लेकिन यह पुस्तक थोड़ी पुरानी है, लेकिन मुझे लगता है कि अगर आप जावा

1

अच्छा सवाल। लेकिन मुझे संदेह है कि वास्तविक परियोजना के आधार पर कोई किताब है या नहीं। लेकिन अपने "अच्छे और साफ" भाग का जवाब देने के लिए, Josh Bloch's Effective Java सही पुस्तक है।

1

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

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