Programming Basics SQL HTML CSS JavaScript Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Learn Typing

C++أسلوب كتابة الكود في سي بلس بلس

  • مبادئ كتابة الكود في C++
  • الأحرف المستخدمة في وضع الأسماء في C++
  • الكلمات المحجوزة في C++

مبادئ كتابة الكود في C++

في البداية عليك معرفة أن كل ما ستتعلمه في هذا الدرس عبارة عن شرح نظري لأساليب كتابة الكود.
إذاَ في هذا الدرس ستتعلم كيف تكتب كود C++ بشكل صحيح يفهمه الكمبيوتر و يفهمه أي شخص يحاول قراءة الكود الذي ستقوم أنت بكتابته مستقبلاً عند بناء تطبيقاتك الخاصة.


Case Sensitivity

لغة C++ تطبق مفهوم الـ Case Sensitivity, و هذا يعني أنها تميز بين الأحرف الكبيرة و الأحرف الصغيرة.

مثال: note و Note ليسوا شيئاً واحداً.



Strictly Typed

لغة C++ تطبق مفهوم الـ Strictly Typed, و هذا يعني أنه يجب تحديد نوع المتغير مباشرةً عند تعريفه (مثل عدد صحيح , حرف , عدد عشري , الخ..) و لا يمكن تغيير نوع البيانات المخزنة فيه لاحقاً كما هو الحال في لغة جافا C و C#, و على خلاف بعض اللغات الأخرى مثل بايثون و جافا سكريبت.



إسم الكلاس

يفضل أن يبدأ إسم الكلاس بحرف كبير و في حال كان إسم الكلاس يتألف من أكثر من كلمة, إجعل أول حرف من كل كلمة كبيراً.

أمثلة

في حال كان إسم الكلاس يتألف من كلمة واحدة.

class Car{ }
class Car{ }

في حال كان إسم الكلاس يتألف من أكثر من كلمة.

class CppFirstClass{ }
class CppFirstClass{ }


إسم المتغير

إستخدم الأحرف الصغيرة عند اختيار أسماء للمتغيرات و في حال كان إسم المتغير يتألف من أكثر من كلمة إبدأ كل كلمة بحرف كبير ابتداءً من الكلمة الثانية.

أمثلة

في حال كان إسم المتغير يتألف من كلمة واحدة.

int color;
int color;

في حال كان إسم المتغير يتألف من أكثر من كلمة.

int firstCarColor;
int firstCarColor;


إسم الدالة

إستخدم الأحرف الصغيرة عند اختيار أسماء للدوال و في حال كان إسم الدالة يتألف من أكثر من كلمة إبدأ كل كلمة بحرف كبير ابتداءً من الكلمة الثانية.

أمثلة

في حال كان إسم الدالة يتألف من كلمة واحدة.

void color();
void color();

في حال كان إسم الدالة يتألف من أكثر من كلمة.

void changeCarColor();
void changeCarColor();


التعليقات

نستخدم التعليقات لنضع ملاحظات حول الكود الذي كتبناه فقط, لكي لا ننسى كيف برمجنا الكود في حال أردنا مراجعته أو التعديل عليه بعد وقت طويل.
التعليقات لا تؤثر إطلاقاً على الكود المكتوب, و في لغة C++ يوجد أسلوبين لوضع التعليقات:

  • تعليق على سطر واحد.
  • تعليق على عدة أسطر.

أمثلة

في حال كان التعليق يتألف من سطر واحد, نضع الرمز // قبل كتابة التعليق.

// this is a one line comment تعليق سطر واحد
// this is a one line comment تعليق سطر واحد

في حال كان التعليق يتألف من عدة أسطر, نبدأ التعليق بالرمز /* و ننهيه بالرمز */.

/*
This is multlines comment
هذا تعليق
يتألف من
عدة سطور
*/
/* This is multlines comment هذا تعليق يتألف من عدة سطور */

تذكر: أنت لست مجبراً على وضع تعليقات في برامجك. و لكننا ننصحك بوضع تعليقات دائماً حتى تساعدك في فهم الكود الذي كتبته.

الأحرف المستخدمة في وضع الأسماء في C++

أي إسم نضعه لمتغير, دالة, كلاس, كائن إلخ.. يسمى identifier في البرمجة.
في C++ كل عنصر نريد خلقه علينا إعطاءه إسم خاص, أي علينا تحديد الـ identifier له.
إذاً يتم التمييز بين العناصر في C++ من خلال أسمائهم, أي من خلال الـ Identifiers.


قواعد إلزامية عند إعطاء الأسماء

  1. جميع الـ Identifiers يجب أن يبدأوا بحرف كبير بين A-Z أو حرف صغير بين a-z أو الشرطة _.
  2. يمنع بدء الـ Identifiers برقم.
  3. يمنع استخدام الـ Literals أي القيم true, false.
  4. يمنع إستخدام أي كلمة من الكلمات المحجوزة ( Keywords ).
  5. لا تنسى أن C++ تطبق مبدأ الـ Case Sensitive.

ركز على أول حرف فقط

أمثلة للأسماء التي يسمح باستخدامها: Harmash , name , _number

أمثلة للأسماء التي يمنع استخدامها: 1st , -cash , @user

الكلمات المحجوزة في C++

جميع الكلمات التالية محجوزة للغة C++، أي لا يمكن إستخدامها كـ Identifiers.

alignas
alignof and
and_eq
auto
bitand
bitor
bool
break
case
catch
char
char16_t
char32_t
class
compl
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
not
not_eq
nullptr
operator
or
or_eq
private
protected
Public
register
reinterpret_cast
requires
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
xor
xor_eq

الدورات

أدوات مساعدة

أقسام الموقع

دورات
مقالات كتب مشاريع أسئلة