1.4d
— Keywords और naming identifiers
Keywords
C++ अपने use के लिए 73 words
(शब्द) सुरक्षित रखता है । इन शब्दों
कोkeywords कहा जाता है, और इनमे से हर एक keyword का C++ में एक ख़ास मतलब
है ।
यहाँ C++ के सारे keywords के list दिए गये हैं (C++11 के अनुसार):
|
alignas
**
alignof ** asm auto bool * break case catch char char16_t ** char32_t ** |
class
const constexpr ** const_cast * continue decltype default delete do double dynamic_cast * |
else
enum explicit * export * extern false * float for friend goto if |
inline
int long mutable * namespace * new noexcept ** nullptr ** operator private protected |
public
register reinterpret_cast * return short signed sizeof static static_assert ** static_cast * struct |
switch
template this thread_local ** throw true * try typedef typeid * typename * union |
unsigned
using * virtual void volatile wchar_t * while |
* से mark किये गये 15
keywords C++98 में जोड़े गये थे । कुछ पुराने
किताबों में आपको ये नहीं भी दिखाई दे सकते हैं ।
** से mark किये गये 9 keywords C++11 में जोड़े गये थे । यदि आपका compiler C++11 को support नहीं करता, तो संभवतः ये आपके compiler में काम नहीं करेंगे ।
** से mark किये गये 9 keywords C++11 में जोड़े गये थे । यदि आपका compiler C++11 को support नहीं करता, तो संभवतः ये आपके compiler में काम नहीं करेंगे ।
आपने पहले ही इनमे से कुछ keywords का इस्तेमाल किया है, जैसे की int, void, return, using,
और namespace । यदि कुछ operators को मिला लिया जाये, तो ये keywords पूरे C++ language को define करते हैं (preprocessor commands को छोड़कर) । क्यूंकि इन keywords का language में कोई ख़ास मतलब
है, आपका IDE इन्हें दिखाते वक़्त इनका colour बदल देगा (ज्यादातर नीले रंग में) ताकि coding करते वक़्त ये आसानी से पहचाने जा सके ।
इन tutorials को ख़त्म करने तक आप
लगभग हर keyword का काम समझ जाओगे ।
Identifiers
और उनका नाम रखना
Variable,
function, class या C++ के दुसरे objects के नाम को identifier कहा जाता है । C++ आपको आपके इच्छानुसार identifiers के नाम रखने की छुट देता है, लेकिन इसमें कुछ नियम हैं:
- Identifiers
keywords नहीं होने चाहिए क्यूंकि Keywords का language
में कोई ख़ास मतलब है । आप इसका प्रयोग अपने variables या functions
के लिए नहीं कर सकते ।
- Identifier
केवल letters(uppercase या lowercase),
numbers, और underscore
character के बने होने चाहिए । इसका
मतलब है objects
के नाम में आप symbols
(underscore को छोड़कर) और whitespaces का इस्तेमाल नहीं कर सकते ।
- Identifiers
के नाम किसी letter (lower या upper
case) या underscore से शुरू होने चाहिए । इनका पहला character कोई number
नही हो सकता ।
- C++,
lowercase (जैसे a) और uppercase
(जैसे A) letters में अंतर करता है । nvalue, nValue और NVALUE तीन अलग-अलग identifiers हैं ।
अब जब हमें पता चल चूका है की हम अपने objects को कैसे नाम दे सकते हैं, आइये देखते हैं की objects को कैसे नाम दिया जाना चाहिए ।
पहला, C++ में ये माना जाता
है की variables के नाम का शुरुआती
अक्षर lowercase (जैसे a) में रहना चाहिए । यदि variable के नाम केवल एक शब्द के हैं, तो पूरा नाम lowercase letters में लिखा जाना चाहिए ।
|
1
2
3
4
5
|
int value; // ठीक है
int Value; // ठीक नहीं है (शुरुआती अक्षर lowercase में हो तो ज्यादा बेहतर है)
int VALUE; // ठीक नहीं है (शुरुआती अक्षर lowercase में हो तो ज्यादा बेहतर है)
int VaLuE; // ठीक नहीं है (पहले ही बता दिया जा चूका है) ;)
|
सामान्यतः, functions के नाम भी lowercase letter से ही शुरू होते हैं (लेकिन कुछ लोग इस नियम को नहीं मानते) । हम tutorial के दौरान अपने functions के नाम lowercase letter से शुरू करेंगे क्यूंकि main() (जो हर C++ program में होना ही चाहिए) lower case letter से ही शुरू होता है, और साथ ही standard template library में function के नाम भी इसी तरह
से लिखे गए हैं ।
Identifier
names के लिए capital
letters (बड़े अक्षर जैसे A) का प्रयोग, classes और enumerations (जिनके बारे हम आगे
के chapters में जानेंगे) के
लिए किया जाता है ।
यदि variable या function के नाम एक से अधिक शब्दों से बने हैं, तो इस परिस्थिति में नाम रखने के दो तरीके सही माने जाते हैं: शब्दों
को underscores से अलग करना, या intercapped (छोटे और बड़े
अक्षरों को मिलाकर इस्तेमाल करना जैसे की myVar) style का प्रयोग करना ।
|
1
2
3
4
5
|
int my_variable_name; // ठीक है (underscores से अलग किये गए हैं)
int myVariableName; // सही है (intercapped style का इस्तेमाल किया गया है)
int my variable name; // गलत है (नाम में spaces नहीं होने चाहिए)
int MyVariableName; // ठीक नही है (lower case letter से शुरू हो तो ज्यादा बेहतर है)
|
इस tutorial में, हम intercapped style का प्रयोग करेंगे
क्यूंकि ये पढने में ज्यादा आसान होते हैं (जहाँ बहुत ज्यादा code लिखा गया हो, spaces के लिए underscore का प्रयोग करना identifiers को पढने में ज्यादा मुश्किल बना सकता है) । लेकिन आपको underscore
style बहुत जगह देखने को मिलेगा क्यूंकि C++
standard library, variables और functions,
दोनों के लिए underscore
method का प्रयोग करता है । कही-कही पे underscores
का उपयोग variables
के लिए और intercapped
style का उपयोग functions
के लिए एक साथ किया जाता है ।
दूसरा, आपको identifiers
के नाम के शुरू में underscore
का प्रयोग नहीं करना चाहिए, क्यूंकि ऐसे नामों का प्रयोग आम तौर पर OS,
library, और compiler करते हैं ।
तीसरा, और शायद इनमें से सबसे ज्यादा ज़रूरी
नियम, identifiers को कुछ ऐसा नाम दे
जिससे साफ़ हो की उस नाम का object किसलिए लिए प्रयोग होने वाला है । नए programmers
अकसर अपना समय बचाने के लिए छोटे
नामों का प्रयोग करते हैं । ये तरीका हमेशा ही गलत है । Variables
के नाम कुछ ऐसे होने चाहिए जिससे पूरी
तरह साफ़ हो सके की उस नाम के variable का program में क्या महत्व है
। 3 महीने बाद, जब आप अपने program को फिर से देखोगे, हो सकता है की आप भूल चुके हों की ये कैसे काम करता है, और उस वक़्त आप variables को सही नाम देने के लिए अपने आप का धन्यवाद करोगे । Variables
जितने जटिल code में प्रयोग किये जाने है, इनके नाम उतने ही अच्छे होने चाहिए ।
|
int
ccount
|
बुरा
है
|
किसी
को नहीं पता ccount क्या है
|
|
int
customerCount
|
अच्छा
है
|
साफ़
है की हम customers को count कर रहे हैं
|
|
int
i
|
बुरा
है*
|
सामान्यतः
बुरा है यदि किसी छोटे variable,
जैसे loop variables के रूप में इस्तेमाल नहीं किया जा रहा है तो
|
|
int
index
|
अच्छा-बुरा
दोनों हो सकता है
|
ठीक
है यदि हमे पता है की हम किसे index
(सूची) कर रहे हैं
|
|
int
totalScore
|
अच्छा
है
|
बिलकुल
साफ़ है
|
|
int
_count
|
बुरा
है
|
Variable
names की शुरुआत underscore से
करना गलत है
|
|
int
count
|
अच्छा-बुरा
दोनों हो सकता है
|
ठीक
है यदि हमे पता है की हम किसे count
कर रहे हैं
|
|
int
data
|
बुरा
है
|
किस
तरह का data, ये स्पष्ट नहीं है?
|
|
int
value1, value2
|
अच्छा-बुरा
दोनों हो सकता है
|
दोनों
के बीच अंतर करना मुश्किल हो सकता है
|
|
int
numberOfApples
|
अच्छा
है
|
बिलकुल
साफ़ है
|
|
int
monstersKilled
|
अच्छा
है
|
बिलकुल
साफ़ है
|
|
int
x, y
|
बुरा
है*
|
साधारणतः
बुरा है यदि इनका उपयोग छोटा नहीं है तो,
छोटा उपयोग जैसे की छोटे-मोटे गणितीय functions
|
* Note: जिन variables का code में महत्व कम हो, उनके लिए छोटे नामों का प्रयोग करना ठीक है, जैसे की loop variables या छोटे-मोटे गणितीय functions के लिए छोटे नामों का प्रयोग कारण ठीक है ।
चौंथा, कहीं-कहीं पे चीजों को स्पष्ट करने के
लिए comments का उपयोग बेहतर
साबित होंगे । उदाहरण के लिए, मान लीजिये हमने numberOfChars नाम का एक variable declare किया है जो text के किसी टुकड़े (words, articles आदि) में कुल characters की संख्या को store करेगा । अब ज़रा बताइए “Hello World!” में 10, 11, या 12
characters हैं? ये निर्भर करेगा की आप counting करते वक़्त spaces और punctuation (एक तरह के symbols जिनका प्रयोग codes को समझने में आसान बनाने के लिए किया जाता है, जैसे #) का प्रयोग कर रहे हैं या नही । इस
परिस्थिति में variable को लम्बा नाम जैसे numberOfCharsIncludingWhitespaceAndPunctuation देने से बेहतर, declaration line पर एक अच्छा comment लिखा जा सकता है, जो चीजों को समझने में भी आसान बनाएगा:
|
1
2
|
// text के किसी टुकड़े में उपस्थित कुल chahracters
की संख्या store करेगा -- whitespaces और punctuation को मिलाकर!
int numberOfChars;
|
Quiz
उन नामों को चुने जो identifier के रूप में इस्तेमाल किये जाने के लिए अच्छे नहीं माने जाते हैं
(अर्थात जिस तरह से नाम दिए जाने चाहिए, उससे अलग लगते हैं)
और ये भी बताइए की ये अच्छे क्यों नहीं माने जा सकते ।
1) int
sum;
2) int _apples;
3) int VALUE;
4) int my variable name;
5) int TotalCustomers;
6) int void;
7) int nAngle;
8) int 3some;
9) int meters_of_pipe;
2) int _apples;
3) int VALUE;
4) int my variable name;
5) int TotalCustomers;
6) int void;
7) int nAngle;
8) int 3some;
9) int meters_of_pipe;

No comments:
Post a Comment