این ۱۰ نکته کمک زیادی به بهبود توان برنامه نویسی شما در سی پلاس پلاس کمک می کند.
۱ – علامت = را با علامت == اشتباه نگیرید
برای نشان دادن برابری بین دو حرف a و b استفاده از دستور زیر به نظر مناسب میرسد
در کدنویسیهای پر حجم، این عبارت میتواند خطاهایی را ایجادکند. در زبان c و c++ از عبارت زیر برای نشاندادن برابری استفاده نمیشود.
این عبارت، مقدار حرف a را به حرف b نسبت میدهد. در زبان c و c++ هر مقدار عددی را میتوان بعنوان شرایطی برای if یا while استفاده کرد.
اگر برای a و b یک مقدار عددی نسبت دهید (مثلا صفر) و از عبارت a = b استفادهکنید، جواب نادرستی روی صفحه نمایش نشان دادهمیشود.
برای حل این مشکل و برای نشان دادن برابری از دو علامت تساوی ( = = ) استفاده کنید.
۲- خلاصشدن از اعداد جادویی(Magic Numbers)
منظور از اعداد جادویی، اعدادی است که به صورت پیشفرض و بدون وجود مشخصهای در برنامه وجود دارند ( مشخص نیست این عدد نشانگر چیست ). اغلب برنامه نویسان علاقهای به استفاده از این اعداد ندارند. برای مثال:
۸۱، یک عدد جادویی است. از کجا آمدهاست(معنی آن چیست)؟ بهتر است به جای استفاده از اعداد جادویی از عبارت #define استفاده کنیم
پهنای صفحه(screen width) معنای واضح و مشخصتری نسبت به عدد تنهای ۸۱ دارد. اگر بخواهید در مقدار اشارهشده در تصویر بالا تغییر ایجاد دهید از دستور زیر استفاده کنید:
۳- به دستهبندی صحیح (اعداد صحیح) اعتماد نکنید
دستهبندی صحیح زمانی استفاده میشود که شما به هر دلیلی نخواهید مقادیر کسری (غیر صحیح) را ذخیره کنید. اما گاهی اوقات اعداد صحیح، خود بخشی از اعداد بزرگتری هستند که ممکن است این اعداد بزرگتر اعدادی کسری (یا اعشاری) باشند.
اگر از دستهبندی صحیح استفاده کنید، باقیمانده تقسیم نمایش داده نخواهدشد و مثلا اگر عدد ۹ را بر ۱۰ تقسیم کنید بهجای مشاهده ۰٫۹ با عدد صفر روبرو میشوید. گاهی اوقات مقدار باقیمانده تقسیم برای شما مهم خواهدبود. C++ میتواند هم باقیمانده و هم مقدار عدد صحیح را به شما نشاندهد.
۴- استفاده از Data Promotion برای کنترل نتایج
در عبارتهای تشکیلشده از اعداد صحیح . متغیرها، اعداد صحیح به نوع double ارتقا پیدا میکنند.
به یاد داشته باشید که ۱۰٫۰ عددکسری نیست، اما به صورت double ذخیره میشود. یک راه دیگر استفاده از دستور زیر است:
۵- از شرایط Non-Boolean استفاده نکنید(بجز با دقت فراوان)
زبان c به برنامه نویس هم در زمینه کدنویسی و هم در استفاده از میانبرها آزادی عمل خوبی میدهد. افراد مبتدی نباید از میانبرها استفاده کنند(بخاطر عدم تسلط کافی). یکی از ترفندهایی که میتوانید استفاده کنید:
عبارت بالا را میتوانید کوتاهتر کنید:
اگر در عبارت بالا n مقداری منفی داشته باشد، ممکن است حلقه شما تا بینهایت ادامه داشته باشد.
تنها یک استثنا وجود دارد و آن هم زمانی است که pointer روی تهی (صفر) تنظیم شده باشد. در کد زیر، null pointer( اشارهگر تهی) به معنای عدم بازشدن فایل است
در اینجا باید از یک نشانه درون شرط استفاده کنید
۶- استفاده از statement، بخصوص در برنامههای کوچک
دو واژه cin و cout اعضای std محسوب میشوند و نیاز است تا کدها به این فرم نوشته شوند:
این کار میتواند برای برنامهنویس بسیار وقتگیر باشد، برای صرفهجویی در زمان میتوانید از دستورالعمل زیر استفاده کنید:
۷- از متغیرهای عمومی فقط برای ایجاد ارتباط بین توابع استفاده کنید
اگر متغیری که میخواهید ایجاد کنید برای ذخیره اطلاعاتی است که بین توابع ارتباط برقرار میکند، از متغیرهای عمومی استفاده کنید.
اگر از متغیرهای عمومی استفاده کنید ممکن است عملکرد چند تابع با یکدیگر دچار تداخلشود (متغیر عمومی میتواند بین چندین تابع مشترک باشد و استفاده از آن در یک تابع میتواند بصورت ناخواسته باعث تاثیرگذاری در تابعی دیگرشود).
۸- استفاده از متغیرهای موضعی(لوکالی، غیرعمومی)
در نسخههای قدیمی c++ برای موضعیسازی یک متغیر باید از یک حلقه for استفاده میشدهاست.
برای این کار روش دیگری وجود دارد که باعث ذخیره بیشتر فضا میشود، و از نظر برنامهریزی نیز مطمئنتر است:
۹- از استفاده زیاد از موضوعات و کلاسها هراس نداشتهباشید
هنگامیکه افراد شروع به برنامه نویسی با زبان c++ میکنند، دوست دارند صاحب سبک خاصی باشند و دوست ندارند از امکانات آماده و ذخیرهشده این زبان استفاده کنند. در فضای c++ میتوانید از STL بهره زیادی ببرید. از حلقهها و لیستهای موجود در این قسمت میتوانید استفاده زیادی ببرید. همواره میتوانید از دستاوردهای گذشتگان برای بهبود کیفیت کار خود استفاده کنید.
۱۰- استفاده صحیح از علامتها
هنگامیکه تعریفکردن کلاسها را آغاز میکنید، علامتها نباید شما را فریبدهند. گاهی اوقات برنامه نویسان شکایت میکنند که نمیتوانند از علامت نقطه ویرگول(؛) بهخوبی استفاده کنند. این علامت برای جداکردن جملات نیست و بعنوان پایان دهنده جمله شناخته میشود. اما نباید یک جمله مرکب را با علامت ؛ به پایان برسانید
پس قانون کلی این است که هر جمله را با یک ؛ به پایان رسانید، اما نباید پس از یک آکلاد بسته علامت ؛ بگذارید.
تنها یک استثنا وجود دارد: هر کلاسی را باید با یک ؛ به پایان برسانید
پس میتوانیم دو قانون کلی زیر را بیان کنیم:
۱ – هر جمله را با ؛ به پایان رسانید
۲- پس از یک آکلاد بسته ؛ نگذارید مگر اینکه این آکلاد پایان بخش یک کلاس باشد.
خلاصه
برنامهنویسی در C++ دارای پیچیدگیهای بسیار زیادی است و هیچگاه نباید از یادگیری دست بکشید. در این نوشته تلاش کردیم تا چند نکته مفید را به شما آموزش دهیم. کاربرد علامت = را با علامت == متوجهشوید. در استفاده از میانبرها بسیار دقت کنید. برای حلقه For از متغیرهای موضعی استفاده کنید.