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