व्यायाम - अपने कोड को पढ़ने में आसान बनाने के लिए व्हाइटस्पेस का उपयोग करें

पूरा किया

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

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

व्हाइटस्पेस क्या है?

शब्द "व्हाइटस्पेस" कुंजी द्वारा space barउत्पादित व्यक्तिगत रिक्त स्थान, कुंजी द्वारा tab निर्मित टैब और कुंजी द्वारा उत्पादित नई लाइनों को संदर्भित करता है enter

सी # कंपाइलर व्हाइटस्पेस को अनदेखा करता है। यह समझने के लिए कि व्हाइटस्पेस को कैसे अनदेखा किया जाता है, और सफेद स्थान का उपयोग करके स्पष्टता को अधिकतम कैसे किया जाए, निम्नलिखित अभ्यास के माध्यम से काम करें।

यह बताने के लिए कोड जोड़ें कि सी # कंपाइलर द्वारा व्हाइटस्पेस को कैसे अनदेखा किया जाता है

  1. सुनिश्चित करें कि आपके पास Visual Studio कोड में एक रिक्त Program.cs फ़ाइल खुली है।

    यदि आवश्यक हो, तो Visual Studio कोड खोलें, और उसके बाद संपादक में Program.cs फ़ाइल तैयार करने के लिए निम्न चरणों को पूरा करें:

    1. फ़ाइल मेनू पर, फ़ोल्डर खोलें का चयन करें।

    2. नेविगेट करने के लिए फ़ोल्डर खोलें संवाद का उपयोग करें, और उसके बाद खोलें, CsharpProjects फ़ोल्डर।

    3. Visual Studio कोड EXPLORER दृश्य में, Program.cs का चयन करें।

    4. Visual Studio कोड चयन मेनू पर, सभी का चयन करेंका चयन करें, और उसके बाद हटाएँ कुंजी दबाएँ।

  2. निम्न कोड दर्ज करें:

    // Example 1:
    Console
    .
    WriteLine
    (
    "Hello Example 1!"
    )
    ;
    
    // Example 2:
    string firstWord="Hello";string lastWord="Example 2";Console.WriteLine(firstWord+" "+lastWord+"!");
    
  3. Visual Studio Code फ़ाइल मेनू पर, सहेजेंका चयन करें।

  4. EXPLORER दृश्य में, अपने TestProject फ़ोल्डर स्थान पर कोई टर्मिनल खोलने के लिए, TestProjectराइट-क्लिक करें, और उसके बाद एकीकृत टर्मिनल में खोलेंका चयन करें।

  5. टर्मिनल कमांड प्रॉम्प्ट परडॉटनेट चलाएँटाइप करें, और उसके बाद Enter दबाएँ।

    आपको निम्न आउटपुट देखना चाहिए:

    Hello Example 1!
    Hello Example 2!
    
  6. इस पर विचार करने के लिए एक मिनट का समय लें कि यह परिणाम आपको बताता है कि आपको अपने कोड में व्हाइटस्पेस का उपयोग कैसे करना चाहिए।

    ये दो कोड उदाहरण दो महत्वपूर्ण विचारों को दर्शाते हैं:

    • व्हाइटस्पेस कंपाइलर के लिए कोई फर्क नहीं पड़ता। फिर भी।।।
    • व्हाइटस्पेस, जब ठीक से उपयोग किया जाता है, तो कोड को पढ़ने और समझने की आपकी क्षमता को बढ़ा सकता है।

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

    प्रारंभिक मार्गदर्शन:

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

    Random dice = new Random();
    int roll1 = dice.Next(1, 7);
    int roll2 = dice.Next(1, 7);
    int roll3 = dice.Next(1, 7);
    int total = roll1 + roll2 + roll3;
    Console.WriteLine($"Dice roll: {roll1} + {roll2} + {roll3} = {total}");
    if ((roll1 == roll2) || (roll2 == roll3) || (roll1 == roll3)) {
        if ((roll1 == roll2) && (roll2 == roll3)) {
            Console.WriteLine("You rolled triples!  +6 bonus to total!");
            total += 6; 
        } else {
            Console.WriteLine("You rolled doubles!  +2 bonus to total!");
            total += 2;
        }
    }
    

    ध्यान दें कि इस कोड में बहुत अधिक व्हाइटस्पेस शामिल नहीं है। इस कोड का उपयोग आपके अनुप्रयोगों में व्हाइटस्पेस जोड़ने के लिए एक दृष्टिकोण को स्पष्ट करने के लिए किया जाएगा। प्रभावी व्हाइटस्पेस को यह समझना आसान बनाना चाहिए कि आपका कोड क्या कर रहा है।

    नोट

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

  8. इस कोड की पठनीयता में सुधार करने के लिए आप व्हाइटस्पेस का उपयोग कैसे करेंगे, इस पर विचार करने के लिए एक मिनट का समय लें।

    इस कोड की दो विशेषताएं हैं जिन पर ध्यान देना चाहिए:

    • इस कोड उदाहरण में कोई ऊर्ध्वाधर व्हाइटस्पेस नहीं है। दूसरे शब्दों में, कोड की रेखाओं को अलग करने वाली कोई खाली रेखा नहीं है। यह सब एक घने कोड लिस्टिंग में एक साथ चलता है।
    • उद्घाटन और समापन घुंघराले ब्रेस प्रतीकों { } द्वारा परिभाषित कोड ब्लॉक एक साथ संकुचित होते हैं, जिससे उनकी सीमाओं को नेत्रहीन समझना मुश्किल हो जाता है।

    सामान्यतया, पठनीयता में सुधार करने के लिए, आप कोड की दो, तीन, या चार पंक्तियों के बीच एक रिक्त पंक्ति पेश करते हैं जो समान या संबंधित चीजें करते हैं।

    ऊर्ध्वाधर व्हाइटस्पेस का उपयोग करके अपना कोड लिखना व्यक्तिपरक है। यह संभव है कि दो डेवलपर्स इस बात पर सहमत न हों कि सबसे अधिक पठनीय क्या है, या व्हाइटस्पेस कब जोड़ना है। अपने सर्वोत्तम निर्णय का प्रयोग करें।

  9. ऊर्ध्वाधर व्हाइटस्पेस जोड़ने के लिए जो पठनीयता में सुधार करता है, निम्नानुसार अपना कोड अपडेट करें:

    Random dice = new Random();
    
    int roll1 = dice.Next(1, 7);
    int roll2 = dice.Next(1, 7);
    int roll3 = dice.Next(1, 7);
    
    int total = roll1 + roll2 + roll3;
    Console.WriteLine($"Dice roll: {roll1} + {roll2} + {roll3} = {total}");
    
    if ((roll1 == roll2) || (roll2 == roll3) || (roll1 == roll3)) {
        if ((roll1 == roll2) && (roll2 == roll3)) {
            Console.WriteLine("You rolled triples!  +6 bonus to total!");
            total += 6; 
        } else {
            Console.WriteLine("You rolled doubles!  +2 bonus to total!");
            total += 2;
        }
    }
    

    व्हाइटस्पेस की आपकी पहली पंक्ति का उपयोग चर की dice घोषणा को आपके रोल चर को मान असाइन करने के लिए उपयोग की जाने वाली कोड लाइनों से अलग करने के लिए किया जाता है। यह पृथक्करण यह देखना आसान बनाता है कि आपके कोड में कैसे dice उपयोग किया जा रहा है।

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

    अंत में, व्हाइटस्पेस की आपकी तीसरी पंक्ति आपके नेस्टेड बयानों से संबंधित बयानों के एक और समूह को अलग करती है if । बयानों का समूह जिसमें घोषणा total और Console.WriteLine() विधि शामिल है, उपस्थिति के बजाय उद्देश्य से संबंधित है। आपका कोड तीन पासों द्वारा प्राप्त कुल मूल्य पर केंद्रित है और क्या रोल में युगल या ट्रिपल शामिल हैं। ये पंक्तियाँ संबंधित हैं क्योंकि आपको उपयोगकर्ता को रोल के परिणामों की गणना total और रिपोर्ट करने की आवश्यकता है।

    कुछ डेवलपर्स तर्क दे सकते हैं कि आपको की total घोषणा और के बीच एक खाली रेखा जोड़नी Console.WriteLine()चाहिए। फिर से, व्हाइटस्पेस का चुनाव आपके सर्वोत्तम निर्णय पर निर्भर है। आपको यह तय करना चाहिए कि आपके लिए कौन सा अधिक पठनीय है और उस शैली का लगातार उपयोग करें।

    आपके पास केवल वक्तव्य ही बचा है if । अब आप इसकी जांच कर सकते हैं।

  10. कीवर्ड के नीचे if कोड की तर्ज पर ध्यान केंद्रित करते हुए, अपने कोड को निम्नानुसार संशोधित करें:

    Random dice = new Random();
    
    int roll1 = dice.Next(1, 7);
    int roll2 = dice.Next(1, 7);
    int roll3 = dice.Next(1, 7);
    
    int total = roll1 + roll2 + roll3;
    Console.WriteLine($"Dice roll: {roll1} + {roll2} + {roll3} = {total}");
    
    if ((roll1 == roll2) || (roll2 == roll3) || (roll1 == roll3)) 
    {
        if ((roll1 == roll2) && (roll2 == roll3)) 
        {
            Console.WriteLine("You rolled triples!  +6 bonus to total!");
            total += 6; 
        } 
        else 
        {
            Console.WriteLine("You rolled doubles!  +2 bonus to total!");
            total += 2;
        }
    }
    
  11. ध्यान दें कि आपने रिक्ति को बेहतर बनाने के लिए उद्घाटन और समापन घुंघराले ब्रेसिज़ को अपनी लाइन में स्थानांतरित कर दिया है।

    और {} प्रतीक कोड ब्लॉक बनाते हैं। कई सी # निर्माणों को कोड ब्लॉक की आवश्यकता होती है। इन प्रतीकों को एक अलग रेखा पर रखा जाना चाहिए ताकि उनकी सीमाएं स्पष्ट रूप से दिखाई दें और पठनीय हों।

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

    इस कोड ब्लॉक के अंदर कोड लाइनें इंडेंट की जाती हैं, यह दर्शाती हैं कि वे इस कोड ब्लॉक से "संबंधित" हैं।

    आप आंतरिक if कथन और else कथन के साथ एक समान पैटर्न का पालन करते हैं, और उन कोड ब्लॉक के अंदर कोड।

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

संक्षिप्त

इस अभ्यास से मुख्य टेकअवे:

  • अपने कोड की पठनीयता में सुधार करने के लिए विवेकपूर्ण तरीके से व्हाइटस्पेस का उपयोग करें।
  • कोड के वाक्यांशों को अलग करने के लिए खाली लाइनें बनाने के लिए लाइन फीड का उपयोग करें। एक वाक्यांश में कोड की लाइनें शामिल होती हैं जो समान होती हैं, या एक साथ काम करती हैं।
  • कोड ब्लॉक प्रतीकों को अलग करने के लिए लाइन फ़ीड का उपयोग करें ताकि वे कोड की अपनी पंक्ति पर हों।
  • कोड ब्लॉक को उस कीवर्ड के साथ पंक्तिबद्ध करने के लिए कुंजी का tab उपयोग करें जिससे वे संबद्ध हैं.
  • स्वामित्व दिखाने के लिए कोड ब्लॉक के अंदर कोड इंडेंट करें।