1.6 — Whitespace और basic formatting


1.6 — Whitespace और basic formatting

Whitespace शब्द का तात्पर्य वैसे characters से है जिनका प्रयोग formatting, अर्थात प्रारूपण के लिए किया जाता है । C++ में इसका अर्थ है spaces, tabs, और (कभी-कभी) newlines का सही तरह से उपयोग कर code को देखने में सुन्दर बनाना । सामान्यतः C++ compilers whitespace को ignore करते हैं, लेकिन यहाँ कुछ अपवाद (exceptions) हैं ।
नीचे दिए गए सभी statements एक ही तरह का output देंगे:
1
2
3
4
5
6
7
8
cout << "Hello world!";

cout               <<            "Hello world!";

                                cout <<                   "Hello world!";

cout
                << "Hello world!";
अंतिम line में newline का प्रयोग किया गया है, पर फिर भी code आसानी से compile हो जायेगा ।
नीचे दिए गये functions एक ही तरह के काम करेंगे:
1
2
3
4
5
6
7
8
9
10
11
12
int add(int x, int y) { return x + y; }

int add(int x, int y) {
    return x + y; }

int add(int x, int y)
{    return x + y; }

int add(int x, int y)
{
    return x + y;
}
अपवाद स्वरुप, C++ compiler quoted text (text जो “” के बीच हो) के भीतर whitespace को ignore नहीं करते, जैसे की "Hello world!" 
"Hello world!"
नीचे के
"Hello     world!"
से अलग है
और ये दोनों lines बिलकुल वही print करेंगे जो आप सोच रहे हो । Quoted texts में newline का प्रयोग नहीं किया जा सकता:
1
2
cout << "Hello
     world!" << endl; // ये गलत है!
एक और अपवाद जहाँ C++ whitespace को ignore नही करता, वो है // comments Single-line comments line के अंत में ही ख़त्म हो जाते हैं । इसलिए कुछ ऐसा करने से आप परेशानी में पड़ जाओगे:
1
2
cout << "Hello world!" << endl; // एक single-line comment
ये comment का हिस्सा नहीं है
Basic formatting
दुसरे languages से अलग, C++ programmers पर formatting सम्बन्धी किसी तरह का कोई प्रतिबन्ध नहीं लगाता (याद कीजिये, C++ के compilers “trust the programmer” philosophy के आधार पर बने हैं!) । आये कुछ सालों में formatting के कई नए-नए तरीके देखे गए हैं, और आपको programmers के बीच इनमें सबसे बेहतर कौन है, इसका चुनाव करने में परस्पर असहमति भी दिखाई देगी । हमारे अनुसार formatting का सबसे अच्छा तरीका वही है जो आपके code को पढने और समझने में आसान बनाता हो ।
Basic formatting के लिए हमारा सुझाव है:
1) आपके tabs 4 spaces (कई IDEs में आप इसे खुद से सेट कर सकते हैं) के होने चाहिए । कुछ IDEs में ये by default 3 spaces का सेट किया होता है, और ये भी ठीक है ।
Tabs की जगह spaces use करने का सबसे अच्छा कारण है की यदि आप IDE के अलावा किसी दुसरे viewer में अपने code को देखोगे, तो भी ये जैसा लिखा गया था (spaces के साथ), वैसा ही दिखाई देगा ।
2) Function को शुरू और ख़त्म करने वाले braces हमेश function name के ठीक नीचे होने चाहिए, और इनको एक बिलकुल अलग line में डालना चाहिए:
1
2
3
int main()
{
}
कुछ programmers इससे अलग styles को बेहतर मानते हैं,लेकिन ये तरीका हमारे अनुसार सबसे अच्छा है और इसमें गलतियाँ होने की संभावना भी कम होती है क्यूंकि braces हमेसा एक दुसरे के ठीक नीचे होते हैं । यदि braces का मेल ना मिलने के कारण compiler कोई error देता है, तो इसे fix करना काफी आसान हो जाता है यदि आप इस style का प्रयोग कर रहे हो तो ।
3) Function के statements को opening और closing brace से कम से कम एक tab के फासले में रखना चाहिए । उदाहरण के लिए:
1
2
3
4
5
int main()
{
    cout << "Hello world!" << endl; // एक tab दिया गया है (4 spaces)
    cout << "Nice to meet you." << endl; // एक tab दिया गया है (4 spaces)
}
4) Lines बहुत ज्यादा लम्बे नहीं होने चाहिए । आम तौर पर, 72, 78, या 80 characters किसी line की अंतिम सीमा मानी जाती है । यदि कोई line बहुत लम्बा है, तो इसे (सही जगह से) multiple lines में तोड़ देना चाहिए । प्रत्येक line को एक अतिरिक्त tab की सहायता से indent करके ये किया जा सकता है । यदि lines बिलकुल एक जैसी हैं, तो इन्हें नीचे ले जाकर एक दुसरे के ठीक नीचे align करना ज्यादा बेहतर साबित हो सकता है ।
1
2
3
4
5
6
7
8
9
10
int main()
{
    cout << "This is a really, really, really, really, really, really, really, " <<
        "really long line" << endl; // एक अतिरिक्त indentation, line को ज़ारी रखने के लिए

    cout << "This is another really, really, really, really, really, really, really, " <<
            "really long line" << endl; // line को ज़ारी रखने के लिए text को पिछले line के ठीक नीचे रखा गया है

    cout << "This one is short" << endl;
}
5) यदि कोई लम्बी line किसी operator (जैसे << या +) की सहायता से तोड़ी गयी है, तो operator को line के अंत में रखना चाहिए, ना की अगले line में सबसे आगे:
1
2
    cout << "This is a really, really, really, really, really, really, really, " <<
            "really long line" << endl;
ना की
1
2
    cout << "This is a really, really, really, really, really, really, really, "
            << "really long line" << endl;
ऐसा करने से, पहले line को देखकर ही बताया जा सकता है की अगली line इसी line के साथ जुडी है ।
6) Code को समझने में आसान बनाने के लिए whitespaces का प्रयोग करे
पढने/समझने में मुश्किल:
1
2
3
4
nCost = 57;
nPricePerItem = 24;
nValue = 5;
nNumberOfItems = 17;
पढने/समझने में आसान:
1
2
3
4
nCost          = 57;
nPricePerItem  = 24;
nValue         = 5;
nNumberOfItems = 17;
पढने/समझने में मुश्किल:
1
2
3
cout << "Hello world!" << endl; // cout और endl iostream library का हिस्सा हैं
cout << "It is very nice to meet you!" << endl; // ये comments code को पढने में मुश्किल बना देते हैं
cout << "Yeah!" << endl; // खासकर जब lines अलग-अलग लम्बाई की हों
पढने/समझने में आसान:
1
2
3
4
5
cout << "Hello world!" << endl;                  // cout और endl iostream
library का हिस्सा हैं
cout << "It is very nice to meet you!" << endl;  // ये comments पढने में ज्यादा
आसान हैं
cout << "Yeah!" << endl;                         // खासकर जब सभी एक दुसरे के ठीक नीचे लिखे गए हों
पढने/समझने में मुश्किल:
1
2
3
4
5
6
// cout और endl iostream library का हिस्सा हैं
cout << "Hello world!" << endl;
// ये comments code को पढने में मुश्किल बना देते हैं
cout << "It is very nice to meet you!" << endl;
// खासकर जब codes एक ही जगह लिखे गए हों
cout << "Yeah!" << endl;
पढने/समझने में आसान:
1
2
3
4
5
6
7
8
// cout और endl iostream library का हिस्सा हैं
cout << "Hello world!" << endl;

// ये comments पढने में ज्यादा आसान हैं
cout << "It is very nice to meet you!" << endl;

// जब whitespaces से अलग कर दी गयी हों
cout << "Yeah!" << endl;
हम tutorial में बढ़ते हुए इन नियमों के बारे में और अधिक चर्चा करेंगे, और ये आपके लिए एक अच्छी आदत बन जाएगी । जैसे-जैसे हम आपका नए topics से परिचय कराएँगे, हम आपको बेहतर माने जा चुके अलग-अलग styles के बारे में भी बताते जायेंगे ।
C++ आपको आपके पसंद का formatting style चुनने की पूरी आजादी देता है । फिर भी, हम सलाह देते है की आप examples में दिखाए गए styles का ही प्रयोग करें । ये हजारों programmers द्वारा लिखे गए अरबों code lines में test किये जाने के बाद बेहतर पाए गये है ।

No comments:

Post a Comment

Pages