मुख्य सामग्री पर जाएँ
मेरे द्वारा पालन किए जाने वाले कोडिंग सिद्धांतऊपर जाएँ

मेरे द्वारा पालन किए जाने वाले कोडिंग सिद्धांत

tr1x_em और Gaspar द्वारा
5 मिनट

मिनिमलिज़्म (न्यूनतमवाद)

कंप्यूटिंग में, मिनिमलिज़्म का तात्पर्य हार्डवेयर और सॉफ़्टवेयर के डिज़ाइन और उपयोग में न्यूनतमवादी दर्शन और सिद्धांतों को लागू करने से है। इस संदर्भ में मिनिमलिज़्म का अर्थ ऐसे सिस्टम को डिज़ाइन करना है जो कम से कम संभव हार्डवेयर और सॉफ़्टवेयर संसाधनों का उपयोग करें।

विकिपीडिया

वर्स इज़ बेटर (Worse is better)

द राइज़ ऑफ़ वर्स इज़ बेटर (The Rise of Worse is Better) में, गैब्रियल ने दावा किया कि “वर्स-इज़-बेटर” सॉफ़्टवेयर डिज़ाइन और कार्यान्वयन का एक मॉडल है जिसकी निम्नलिखित विशेषताएं हैं (महत्व के लगभग अवरोही क्रम में):

गैब्रियल ने तर्क दिया कि बेल लैब्स (Bell Labs) द्वारा विकसित शुरुआती यूनिक्स (Unix) और सी (C), इस डिज़ाइन दृष्टिकोण के उदाहरण हैं।

विकिपीडिया

KISS (कीप इट सिंपल, स्टूपिड)

KISS सिद्धांत बताता है कि अधिकांश सिस्टम तब सबसे अच्छा काम करते हैं जब उन्हें जटिल बनाने के बजाय सरल रखा जाता है; इसलिए, सरलता डिज़ाइन का एक मुख्य लक्ष्य होना चाहिए, और अनावश्यक जटिलता से बचना चाहिए।

विकिपीडिया

सकलेस (Suckless) का दर्शन (घोषणापत्र)

कई (ओपन सोर्स) हैकर्स को बड़ी मात्रा में कोड हासिल करने पर गर्व होता है, क्योंकि उनका मानना है कि उन्होंने जितनी अधिक लाइनें कोड लिखी हैं, उन्होंने उतनी ही अधिक प्रगति की है। उन्होंने जितनी अधिक प्रगति की है, वे उतने ही कुशल हैं। यह केवल एक भ्रम है।

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

कोड की जटिलता ब्लोटेड (अनावश्यक भारी), उपयोग में कठिन और पूरी तरह से असंगत सॉफ़्टवेयर की जननी है। जटिल कोड के साथ, समस्याओं को उप-इष्टतम (suboptimal) तरीकों से हल किया जाता है, मूल्यवान संसाधन अंतहीन रूप से बंधे रहते हैं, प्रदर्शन धीमा हो जाता है, और कमजोरियां सामान्य हो जाती हैं। एकमात्र समाधान पूरे प्रोजेक्ट को खत्म करना और इसे शून्य से फिर से लिखना है।

बुरी खबर: गुणवत्तापूर्ण पुनर्लेखन शायद ही कभी होते हैं, क्योंकि हैकर्स को बड़ी मात्रा में कोड पर गर्व होता है। उन्हें लगता है कि वे कोड की जटिलता को समझते हैं, इसलिए इसे फिर से लिखने की कोई आवश्यकता नहीं है। वे खुद को मास्टरमाइंड मानते हैं, यह समझते हुए कि जिसे दूसरे कभी नहीं समझ पाएंगे। इन लोगों के लिए, जटिल सॉफ़्टवेयर ही आदर्श है।

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

वेबसाइट

यूनिक्स दर्शन

केन थॉम्पसन द्वारा उत्पन्न यूनिक्स दर्शन, न्यूनतमवादी, मॉड्यूलर सॉफ़्टवेयर विकास के लिए सांस्कृतिक मानदंडों और दार्शनिक दृष्टिकोणों का एक समूह है। यूनिक्स दर्शन सरल, छोटा, स्पष्ट, मॉड्यूलर, और विस्तार योग्य कोड बनाने पर जोर देता है जिसे इसके रचनाकारों के अलावा अन्य डेवलपर्स द्वारा आसानी से बनाए रखा और पुन: उपयोग किया जा सके। यूनिक्स दर्शन अखंड (monolithic) डिज़ाइन के विपरीत संयोजन (composability) का पक्षधर है।

UNIX मूल रूप से एक सरल ऑपरेटिंग सिस्टम है, लेकिन इसकी सरलता को समझने के लिए आपको एक प्रतिभाशाली होना होगा।

डेनिस रिची

विकिपीडिया

DRY (डोंट रिपीट योरसेल्फ - खुद को न दोहराएं)

ज्ञान के हर टुकड़े का एक सिस्टम के भीतर एकल, स्पष्ट, आधिकारिक प्रतिनिधित्व होना चाहिए।

विकिपीडिया

YAGNI (यू आर नॉट गोना नीड इट - आपको इसकी आवश्यकता नहीं होगी)

हमेशा चीजों को तभी लागू करें जब आपको वास्तव में उनकी आवश्यकता हो, कभी भी तब नहीं जब आप केवल यह अनुमान लगाते हैं कि आपको उनकी आवश्यकता हो सकती है।

विकिपीडिया

कोडिंग शैली

जितना संभव हो उतना स्वच्छ। सख्त सिंटैक्स।