विज्ञापन

एक शक के बिना, प्रोग्रामिंग कठिन है. यह एक बात है भाषा सीखें और पढ़ो एल्गोरिदम, लेकिन यह एक पूरी तरह से एक अन्य जानवर है जो एक जटिल काम करने वाले एप्लिकेशन को कोड करने की कोशिश कर रहा है जो आपको अपनी आँखें बाहर करना नहीं चाहता है।

एक तरह से, साफ-सुथरा कोड लिखना ड्राइंग, कुकिंग या फ़ोटोग्राफ़ी की तरह है - यह वास्तव में जितना आसान है, उतना आसान है। तो परवाह क्यों? खैर, क्योंकि लाभ इसके लायक हैं:

  • समस्याओं को हल करना आसान हो जाता है। एक बार जब आप स्वच्छ कोड में सोचना शुरू कर देते हैं, तो समस्या-समाधान में आपका दृष्टिकोण बदल जाता है। ब्रूट फोर्सिंग सॉल्यूशंस के बजाय, आपके एल्गोरिदम और सॉफ़्टवेयर डिज़ाइन अधिक सुरुचिपूर्ण और जानबूझकर बन जाते हैं।
  • रखरखाव पर कम समय बर्बाद होता है। स्वच्छ कोड पढ़ना और समझना आसान है, इसलिए आप यह जानने में कम समय बिताते हैं कि कुछ सेगमेंट वास्तव में क्या करते हैं और फिक्सिंग, रिवाइजिंग, एक्सटेंडिंग आदि पर अधिक समय देते हैं।
  • विचारों को अधिक स्पष्ट रूप से संप्रेषित किया जाता है। यदि आप अन्य प्रोग्रामर के साथ काम कर रहे हैं, तो क्लीन कोड आप सभी के बीच गलतफहमी की संभावना को कम करता है, जिसका अर्थ लंबे समय में कम बग भी है।
instagram viewer

यहां बताया गया है कि आप कैसे स्वच्छ कोड लिखना शुरू कर सकते हैं।

1. वर्णनात्मक नाम का उपयोग करें

चर, वर्ग और कार्य क्या हैं? इसका जवाब देने के कई तरीके हैं, लेकिन जब आप वास्तव में इसके बारे में सोचते हैं, तो वे चीजें प्रोग्रामर और एप्लिकेशन के अंतर्निहित तर्क के बीच इंटरफेस से ज्यादा कुछ नहीं होती हैं।

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

“मैं एक महान प्रोग्रामर नहीं हूँ; मैं अच्छी आदतों वाला एक अच्छा प्रोग्रामर हूं। "
- कैंट बेक

एक चर नाम क्या है DXY वास्तव में मतलब है? कौन जाने। आपको शायद इसके अर्थ को उलटने के लिए कोड का पूरा हिस्सा पढ़ना होगा। दूसरी ओर, एक चर का अर्थ जैसे distanceBetweenXY तुरंत पहचानने योग्य है।

कक्षाओं और कार्यों के लिए भी यही सच है। के लिए व्यवस्थित नहीं है CalcTan () जब आप के लिए जा सकते हैं CalculateTangent () या CalcTangentAngle () बजाय।

2. प्रत्येक कक्षा / फ़ंक्शन को एक उद्देश्य दें

क्या आपने कभी किसी ऐसे फंक्शन के अंदर झांका है जो सैकड़ों या हजारों लाइनों का लंबा था? यदि आपके पास है, तो आप जानते हैं कि ब्राउज़ करने, समझने और संपादित करने में कितना दर्द हो सकता है। टिप्पणियाँ मदद कर सकती हैं लेकिन केवल एक सीमित डिग्री तक।

"प्रोग्रामिंग कई छोटे छोटे संभावित कार्यों में एक बड़े असंभव कार्य को तोड़ रहा है।"
- जाजवंत

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

व्यवहार में, एक जटिल गणना जैसे GetCreditScore () जैसे कई सहायक कार्यों में टूट की आवश्यकता हो सकती है GetCreditReports (), ApplyCreditHistoryAge (), तथा FilterOutstandingMarks ().

3. अनावश्यक कोड हटाएं

यह बुरी आदत है कि मैं अभी भी समय-समय पर संघर्ष करता हूं। यह आमतौर पर इस तरह से होता है: मैं कोड का एक हिस्सा ठीक करना या अनुकूलित करना चाहता हूं, इसलिए मैं इसे टिप्पणी करता हूं और इसके ठीक नीचे फिर से लिखता हूं - और भले ही यह काम करता है, मैं पुराने कोड को वहीं रखता हूं।

"क्या यह संभव है कि सॉफ्टवेयर किसी और चीज की तरह नहीं है, जिसका मतलब यह है कि इसे छोड़ दिया जाना चाहिए: कि पूरे बिंदु को हमेशा साबुन के बुलबुले के रूप में देखना है?"
- एलन जे। Perlis

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

बात यह है, "बैकअप कोड" टिप्पणी करने का यह अभ्यास स्रोत नियंत्रण द्वारा अप्रचलित कर दिया गया था। यदि आप Git या Mercurial जैसी किसी चीज़ का उपयोग नहीं कर रहे हैं, तो आपको करने की आवश्यकता है स्रोत नियंत्रण का उपयोग तुरंत शुरू करें. क्लीनर कोड आपको इंतजार कर रहा है।

याद रखें, दोहराव वाले कोड को लिखने से बचना भी महत्वपूर्ण है, जिसे आप वेब फ्रेमवर्क के साथ आसानी से पूरा कर सकते हैं। यहाँ कुछ है एक डेवलपर के रूप में सीखने के लायक वेब फ्रेमवर्क 5 वेब फ्रेमवर्क डेवलपर्स के लिए वर्थ लर्निंगउन्नत वेब विकास सीखने में रुचि है? इसके बजाय इन वेब विकास रूपरेखाओं को दोहराए जाने वाले कोड्यूज़ लिखने से बचें। अधिक पढ़ें .

4. पठनीयता> चतुराई

बहुत से प्रोग्रामर "चतुर कोड" के साथ "क्लीन कोड" को स्वीकार करते हैं, जैसे कि दस लाइनों को एक में जमा करना किसी तरह क्लीनर है। ज़रूर, यह स्क्रीन पर कम जगह लेता है, लेकिन क्या वास्तव में इसे समझना आसान है? कभी-कभी, शायद। लेकिन ज्यादातर समय? नहीं।

“हर कोई जानता है कि पहली जगह पर एक प्रोग्राम लिखने के रूप में डिबगिंग दोगुना कठिन है। अगर आप इसे लिखते समय जितने होशियार हैं, तो आप इसे कैसे डिबग करेंगे? ”
- ब्रायन डब्ल्यू। Kernighan

मुझे लगता है कि प्रोग्रामर को चतुर कोड पसंद है क्योंकि यह एक हल की गई पहेली या पहेली जैसा लगता है। उन्होंने कुछ को लागू करने के लिए एक विशेष और अनोखा तरीका ढूंढा - यदि आप "शॉर्टकट" हैं - और यह प्रोग्रामर के कौशल के सत्यापन के रूप में काम करता है।

लेकिन स्वच्छ कोड लिखने के लिए, आपको दरवाजे पर अपना अहंकार छोड़ने की आवश्यकता है।

हमेशा अगले व्यक्ति के लिए कोड का अनुकूलन करें जो इसे पढ़ने जा रहा है, क्योंकि सभी संभावना है कि अगला व्यक्ति है वास्तव में आप होने जा रहे हैं और अपने स्वयं के पढ़ने या समझने में असमर्थ होने से ज्यादा शर्मनाक कुछ भी नहीं है चतुराई।

5. एक सुसंगत कोडिंग शैली रखें

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

मैं यहां यह घोषित करने के लिए नहीं हूं कि एक शैली दूसरे की तुलना में बेहतर है। यदि आप अपनी तर्ज पर ब्रेसिज़ चाहते हैं, तो इसके लिए जाएं। यदि आप रिक्त स्थान के साथ विधि पूर्व कॉल करना चाहते हैं, तो ठीक है। यदि आप स्थानों के लिए टैब पसंद करते हैं, तो मुझे अन्यथा आपको समझाने की ज़रूरत नहीं है।

लेकिन आप जो भी करते हैं, उसके अनुरूप रहें!

सुंदर बदसूरत से बेहतर है।
निहितार्थ की तुलना में स्पष्ट है।
सरल जटिल से बेहतर है।
कॉम्प्लेक्स जटिल से बेहतर है।
फ्लैट नेस्टेड से बेहतर है।
विरल घने से बेहतर है।
पठनीयता मायने रखती है।
- टिम पीटर्स, अजगर का ज़ेन

यदि आप उपयोग करने जा रहे हैं camelCaseNaming चरों के लिए, इसमें मिलावट न करें underscore_naming. यदि तुम प्रयोग करते हो GetThisObject () एक जगह पर, साथ मत जाओ FetchThatObject () कहीं और। और अगर आप टैब और स्पेस को मिक्स करते हैं, तो आप अपने कीबोर्ड को हटा सकते हैं।

तय करें कि आप शुरू से क्या कर रहे हैं और इसके माध्यम से और इसके माध्यम से छड़ी करें। कुछ भाषाओं, जैसे पायथन और सी #, में भाषा-व्यापी शैली मार्गदर्शिकाएँ हैं जिनका आप अनुसरण करना चाहते हैं।

6. सही आर्किटेक्चर चुनें

कई अलग-अलग प्रतिमान और आर्किटेक्चर हैं जिनका उपयोग आप अपनी परियोजनाओं को बनाने के लिए कर सकते हैं। ध्यान दें कि यह टिप किसके चयन के बारे में है सही आपकी आवश्यकताओं के लिए, चयन के बारे में नहीं श्रेष्ठ वहाँ से बाहर। यहां कोई "सर्वश्रेष्ठ" नहीं है।

"आवश्यकताओं और डिजाइन के बिना, प्रोग्रामिंग एक खाली पाठ फ़ाइल में बग को जोड़ने की कला है।"
- लुई सिरग्ली

उदाहरण के लिए, मॉडल-व्यू-कंट्रोलर (MVC) पैटर्न अभी वेब विकास में बहुत लोकप्रिय है क्योंकि यह आपके कोड को व्यवस्थित और डिज़ाइन किए जाने में मदद करता है जो रखरखाव के प्रयासों को कम करता है।

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

7. भाषा के मुहावरों को मास्टर करें

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

पायथन, जावा और जावास्क्रिप्ट पर विचार करें। वे एक दूसरे से बेहद अलग हैं, एक हद तक जिसकी आवश्यकता है आप किस भाषा का उपयोग करना चाहते हैं, इस पर निर्भर करता है.

"एक भाषा जो प्रोग्रामिंग के बारे में आपके सोचने के तरीके को प्रभावित नहीं करती है, वह जानने लायक नहीं है।"
- एलन जे। Perlis

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

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

8. मास्टर्स की संहिता का अध्ययन करें

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

जाहिर है, आप Microsoft के मुख्यालय में नहीं जा सकते हैं और उनकी परियोजनाओं को देख सकते हैं, लेकिन आप हमेशा कर सकते हैं अच्छी तरह से ज्ञात ओपन-सोर्स प्रोजेक्ट ब्राउज़ करें ओपन-सोर्स ऐप के सोर्स कोड को कैसे देखें और संपादित करेंखुला स्रोत जाना एक अच्छा विकल्प हो सकता है, आपको सही समुदाय में निवेश करने की भी आवश्यकता होगी। GitHub ऐसा करने के लिए सबसे अच्छे स्थानों में से एक है, न केवल किन्नर राशि के कारण ... अधिक पढ़ें . पता नहीं कहाँ से शुरू करें? की कोशिश गिथब पर परियोजनाओं का प्रदर्शन किया.

“कोई भी मूर्ख कोड लिख सकता है जिसे कंप्यूटर समझ सकता है। अच्छे प्रोग्रामर कोड लिखते हैं जिसे मनुष्य समझ सकते हैं। "
- मार्टिन फाउलर, Refactoring: मौजूदा कोड के डिजाइन में सुधार

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

व्यक्तिगत रूप से, मैंने पहली बार वास्तव में स्वच्छ कोड देखा था जब मैं एक निश्चित शौकीन के ओपन-सोर्स पायथन प्रोजेक्ट में ठोकर खाई थी। यह कोड इतना शानदार था कि मैंने प्रोग्रामिंग छोड़ दी, लेकिन इसने मुझे बहुत कुछ सिखा दिया।

9. अच्छी टिप्पणियाँ लिखें

"अच्छी टिप्पणियाँ लिखें" प्रोग्रामिंग की दुनिया में सबसे पुराना सलाह है। वास्तव में, जैसे ही newbies टिप्पणियों के लिए पेश किए जाते हैं, वे बहुत अधिक टिप्पणी करने के लिए प्रोत्साहित होते हैं जितनी बार वे कर सकते हैं।

लेकिन यह लगभग महसूस करता है कि हम विपरीत दिशा में बहुत दूर तक आ गए हैं। Newbies, विशेष रूप से, ओवर-कमेंट करते हैं - उन चीजों का वर्णन करते हैं जिन्हें वर्णन करने की आवश्यकता नहीं है और वास्तव में "अच्छी टिप्पणी" क्या है, इस बिंदु को याद नहीं करना चाहिए।

"हमेशा कोड के रूप में अगर वह आदमी जो आपके कोड को बनाए रखता है, एक हिंसक मनोरोगी होगा जो जानता है कि आप कहाँ रहते हैं।"
- जॉन वुड्स

यहाँ अंगूठे का एक अच्छा नियम है: टिप्पणी यह ​​बताने के लिए मौजूद है कि कोड का एक टुकड़ा क्यों मौजूद है जो कोड वास्तव में करता है। यदि कोड को पर्याप्त रूप से लिखा गया है, तो यह स्व-व्याख्यात्मक होना चाहिए कि यह क्या करता है - टिप्पणी को इस इरादे पर प्रकाश डालना चाहिए कि यह क्यों लिखा गया था।

टिप्पणियां चेतावनी के लिए अच्छी हो सकती हैं (यानी "इसे हटाने से ए, बी, और सी" टूट जाएगा) लेकिन अधिकांश भाग के लिए चाहिए उन चीज़ों को उजागर करें जिन्हें तुरंत कोड से चमकाया जा सकता है (यानी "इस पैरामीटर का उपयोग करें क्योंकि X, Y और, जेड ")।

10. रिफ्लेक्टर, रिफलेक्टर, रिफलेक्टर

जिस तरह संपादन लेखन प्रक्रिया का हिस्सा है, उसी तरह रिफैक्टरिंग कोडिंग प्रक्रिया का हिस्सा है। रिफैक्टिंग के लिए एक अवहेलना अचूक कोड के साथ समाप्त करने का सबसे तेज़ तरीका है, इसलिए कई मायनों में यह वास्तव में विचार करने के लिए सबसे महत्वपूर्ण टिप है।

संक्षेप में, अपने वास्तविक व्यवहार को प्रभावित किए बिना कोड को साफ करने के लिए रिफैक्टिंग सिर्फ एक फैंसी शब्द है।

"जब भी मुझे यह समझने के लिए सोचना होगा कि कोड क्या कर रहा है, तो मैं खुद से पूछता हूं कि क्या मैं उस समझ को और अधिक स्पष्ट करने के लिए कोड को रिफ्लेक्टर कर सकता हूं।"
- मार्टिन फाउलर, Refactoring: मौजूदा कोड के डिजाइन में सुधार

बुद्धि का एक हिस्सा जो मेरे साथ फंस गया है, वह कहावत है, “बुरा कोड कमेंट न करें। इसे फिर से लिखें। ” जैसा कि फाउलर ऊपर दिए गए उद्धरण में बताते हैं, अगर कोड कभी भी भ्रामक लगता है कि आपको इसे टिप्पणी करने की आवश्यकता है, तो शायद आपको वास्तव में इसे रिफैक्ट करने की आवश्यकता है।

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

सीखने के लिए हमेशा कुछ नया होता है

एक प्रोग्रामर, जो स्वच्छ कोड लिखना सीख रहा है, एक उपन्यासकार के लिए स्वच्छ गद्य लिखना सीख रहा है: इसे करने के लिए एक सही तरीका नहीं है, लेकिन इसे करने के लिए बहुत सारे गलत तरीके हैं, और इसमें कई साल लगेंगे गुरुजी।

कुछ लोगों के पास ऐसा नहीं है जो इसे लेता है और अंततः अच्छे के लिए प्रोग्रामिंग छोड़ दें 6 संकेत है कि आप प्रोग्रामर बनने के लिए नहीं हैंहर कोई प्रोग्रामर बनने के लिए नहीं कटता है। यदि आप पूरी तरह से सुनिश्चित नहीं हैं कि आप एक प्रोग्रामर हैं, तो यहां कुछ संकेत दिए गए हैं जो आपको सही दिशा में ले जा सकते हैं। अधिक पढ़ें - और वह ठीक है क्योंकि वहाँ बहुत सारे हैं अन्य तकनीकी कार्य जिसमें कोडिंग शामिल नहीं है सभी के लिए कोडिंग नहीं है: 9 टेक जॉब्स आप इसके बिना प्राप्त कर सकते हैंयदि आप तकनीक क्षेत्र का हिस्सा बनना चाहते हैं, तो निराश न हों। कोडिंग कौशल के बिना लोगों के लिए बहुत सारी नौकरियां हैं! अधिक पढ़ें . लेकिन बाकी सभी के लिए, साफ कोड एक ऐसी चीज है, जो पूरी तरह से लायक है, भले ही यह आपके शेष जीवन को वहां ले जाए।

जोएल ली ने बी.एस. कंप्यूटर विज्ञान और पेशेवर लेखन अनुभव के छह वर्षों में। वह MakeUseOf के लिए चीफ एडिटर हैं।