हालांकि मैं कोड कर सकता हूं, मुझे अभी तक बड़ी परियोजनाओं पर काम करने का कोई अनुभव नहीं है। अब तक मैंने जो भी किया वह छोटे कार्यक्रमों को कोड करना था जो सेकंड के मामले में संकलित हो जाते हैं (विभिन्न c / c ++ अभ्यास जैसे कि एल्गोरिदम, प्रोग्रामिंग सिद्धांत, विचार, प्रतिमान, या सिर्फ एपीआई की कोशिश कर रहे हैं ...) या कुछ छोटी परियोजनाओं पर काम कर रहे हैं एक स्क्रिप्टिंग भाषा (ओं) (अजगर, php, js) में बनाया गया है जहाँ किसी संकलन की आवश्यकता नहीं है।
बात यह है, जब एक स्क्रिप्टिंग भाषा में कोडिंग होती है, जब भी मैं कोशिश करना चाहता हूं अगर कुछ काम करता है - मैं सिर्फ स्क्रिप्ट चलाता हूं और देखता हूं कि क्या होता है। यदि चीजें काम नहीं करती हैं, तो मैं बस कोड को बदल सकता हूं और स्क्रिप्ट को फिर से चलाकर इसे फिर से आज़मा सकता हूं और जब तक मुझे वह परिणाम नहीं मिल जाता, जो मुझे चाहिए था .. मेरा कहना है कि आपको इंतजार नहीं करना पड़ेगा संकलन करने के लिए कुछ भी और इसके कारण एक बड़ा कोड आधार लेना काफी आसान है, इसे संशोधित करें, इसमें कुछ जोड़ें, या बस इसके साथ खेलें - आप परिवर्तनों को तुरंत देख सकते हैं।
एक उदाहरण के रूप में मैं Wordpress ले जाऊंगा। यह कोशिश करना काफी आसान है और यह पता लगाना है कि इसके लिए प्लगइन कैसे बनाया जाए। पहले आप एक सरल "हैलो वर्ल्ड" प्लगइन बनाकर शुरू करते हैं, फिर आप एपीआई के साथ खुद को परिचित करने के लिए व्यवस्थापक पैनल के लिए एक सरल इंटरफ़ेस बनाते हैं, फिर आप इसे बनाते हैं और कुछ और अधिक जटिल बनाते हैं, इस बीच बदलते समय में यह कैसे दिखता है बार .. WP में बार-बार बड़ा बदलाव करने का विचार, प्रत्येक छोटे बदलाव के बाद "अगर यह काम करता है" और "यह कैसे काम करता है / महसूस करता है" तो अक्षम, धीमा और गलत लगता है।
अब, मैं उस परियोजना के साथ कैसे कर सकता हूं जो संकलित भाषा में लिखी गई है? मैं कुछ ओपन-सोर्स प्रोजेक्ट्स में योगदान देना चाहूंगा और यह सवाल मुझे परेशान करता है। स्थिति शायद परियोजना से परियोजना में भिन्न होती है जहां उनमें से कुछ जो पहले से सोच समझकर किए गए थे, वे किसी तरह से "मॉड्यूलर" होंगे, जबकि अन्य बस एक बड़ा ब्लब होगा जिसे बार-बार पुन: स्थापित करने की आवश्यकता होती है।
मैं इस बारे में अधिक जानना चाहूंगा कि यह कैसे ठीक से किया जाता है। इससे निपटने के लिए कुछ सामान्य अभ्यास, दृष्टिकोण और परियोजना डिजाइन (पैटर्न?) क्या हैं? प्रोग्रामर्स की दुनिया में यह "मॉड्यूलरिटी" कैसे कहलाती है और मुझे इस बारे में और जानने के लिए Google को क्या करना चाहिए? क्या अक्सर ऐसा होता है कि परियोजनाएं अपने पहले सोचा अनुपात से बढ़ती हैं जो थोड़ी देर के बाद परेशानी हो जाती हैं? क्या किसी भी तरह से तैयार नहीं की गई परियोजनाओं के लंबे संकलन से बचने का कोई तरीका है ? किसी भी तरह से उन्हें संशोधित करने का एक तरीका है (शायद किसी भी अन्य विचारों को विकसित करते समय कार्यक्रम के गैर-महत्वपूर्ण भागों को छोड़कर)?
धन्यवाद।