अच्छी डिजाइन से मेरा मतलब है सार्थक वर्ग और वास्तुकला, डिजाइन पैटर्न का अच्छा उपयोग, अमूर्तता का अच्छा उपयोग, घटकों का अच्छा संगठन, उच्च सामंजस्य और घटकों के बीच कम युग्मन
सबसे पहले, एक सॉफ्टवेयर, अच्छा या बुरा, एकांत में नहीं रहता है - यह एक वास्तविक विश्व परिदृश्य को दर्शाता है जो मनुष्य एक समस्या के रूप में गर्भ धारण करता है और इस तरह हमेशा "एप्लिकेशन डोमेन" नामक चीज के साथ निकटता से जुड़ा होता है। इसलिए, जब भी आप सॉफ़्टवेयर के बारे में बात करते हैं, तो पहले डोमेन को जानें और उसका अध्ययन करें - केवल तभी आप अच्छे और बुरे का विवेक प्राप्त कर सकते हैं।
गिट - न केवल अच्छा है, बल्कि एक अद्भुत डिजाइन है। यह अपने मूल में एक संस्करण नियंत्रण नहीं है, बस एक फाइल सिस्टम है। कोर के शीर्ष पर कार्यक्षमता का एक पतला लिबास यह एक संस्करण नियंत्रण प्रणाली बनाता है। गिट के इंटर्नल को जानें, और आपके सॉफ्टवेयर डिजाइन की भावना प्रबुद्ध होगी।
jQuery - एक बहुत अच्छी तरह से (आंतरिक रूप से) प्रलेखित पुस्तकालय नहीं है, लेकिन एक प्रेरक स्रोत यह दर्शाता है कि क्लाइंट साइड जावास्क्रिप्ट कोड कैसे चमत्कार कर सकता है।
NodeJS - यदि आप सर्वर बनाने में लगे हैं तो इस परियोजना में ताज़गी से भरे नए विचार और पैटर्न हैं।
v8 - बहुत अच्छा C ++ कोड, वर्चुअल मशीन कार्यान्वयन को सीखने / अध्ययन करने के लिए शानदार पुस्तकालय।
NoSQL परियोजनाओं - काउच, मानगो, रेडिस, कैसेंड्रा - ये प्रोजेक्ट दृढ़ता समस्याओं को हल करने के लिए स्मार्ट तरीके प्रदर्शित करते हैं। इसके अलावा वे बहुउद्देशीय दृढ़ता के विचार को गले लगाते हैं।
पुस्तकालयों को बढ़ावा देना - सी ++ की अच्छी खुराक।
खुला ढेर - क्लाउड कंप्यूटिंग और वर्चुअलाइजेशन पर बहुत अच्छी परियोजनाएं।
अपाचे सॉफ्टवेयर फाउंडेशन - उनकी किसी भी परियोजना को चुनें और उसका अध्ययन करें। यदि आप यह देखना चाहते हैं कि कैसे घटक एक साथ आते हैं, तो HTTPd की मॉड्यूलर संरचना एक बेहतरीन स्रोत है। APR (अपाचे पोर्टेबल रनटाइम) - एक बहुत अच्छा काम भी।
mod_wsgi - मेरे द्वारा आये सबसे अच्छे C कार्यक्रमों में से एक।
"डिजाइन पैटर्न का अच्छा उपयोग" - कोड के लिए एक प्रसिद्ध डिजाइन पैटर्न के अनुरूप होना महत्वपूर्ण नहीं है - यह अधिक महत्वपूर्ण है कि यह समस्या को "स्मार्टली" हल करे - यह बनाए रखने योग्य, पुन: प्रयोज्य और पठनीय है। यदि कोड को एक विशेष "आकार" में ढाला गया है - तो बस एक डिजाइन पैटर्न का पालन करना - यह बुरा कोड हो सकता है।
"कम नहीं तो कोड की 100,000 पंक्तियाँ" - जब से लाइनों की संख्या अच्छी गुणवत्ता का एक मीट्रिक बन गई - "अच्छी तरह से डिज़ाइन / आर्किटेक्चर सॉफ़्टवेयर" का स्वाद प्राप्त करने के लिए इसे BIG होने की आवश्यकता नहीं है।
फिर से, समस्या डोमेन की प्रकृति और बारीकियों का अध्ययन करना याद रखें, और फिर कोड पढ़ने में देरी करें।
अद्यतन: अक्टूबर 2015
InfluxDB - https://influxdb.com/
यह गो परियोजना सक्रिय विकास के तहत है, और अभी भी बहुत जटिल नहीं है। तो आप OpenStack जैसी किसी चीज की तुलना में अपेक्षाकृत आसानी से कोड में खुदाई शुरू कर सकते हैं।