Search

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 में काम नहीं करेंगे ।

आपने पहले ही इनमे से कुछ 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 में लिखा जाना चाहिए ।

सामान्यतः, 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 का प्रयोग करना ।

इस 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 लिखा जा सकता है, जो चीजों को समझने में भी आसान बनाएगा:

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;

Show Solution

1.5 -- Operators पर एक नज़र
Index
1.4c -- Local scope पर एक नज़र

Leave a Comment

Put C++ code inside [code][/code] tags to use the syntax highlighter