شارك هذا المقال:
أثناء كتابة الأكواد , يوجد دائماً قواعد علينا الانتباه لها كيف لا يظهر الخطأ الشهير Syntax Error في وجهنا ويعيق التقدم بشكل مزعج , فدائماً نزيل الفراغات بين الكلمات أثناء تسمية متغير أو صف أو فانكشن .... لأن البرامج تحتفظ بمعنى خاص للفراغ، حيث أن حرف المسافة محجوز ولا يمكننا استخدامه لتمثيل مفهوم نعبر عنه بلغتنا البشرية.
ومن هذا المنطلق , ظهرت عدة مصطلحات جديدة تعبر عن طرق كتابة من أهمها : Camel Case, Pascal Case, Snake Case, Kebab Case.
لنفترض أننا نريد كتابة متغير نخزن فيه هل قام المستخدم بتسجيل دخول أم لا , غالباً لن يمكننا كتابته كالتالي
$is user logged = true
ولكن نكتبه هكذا ...
$IsUserLogged = true
لأنه في الحالة الأولة تتم معاملة كل كلمة كمفهوم منفصل Is و user و logged
أما التسمية isUserLogin فهي مفهومة لكل من المفسر والمبرمج وفيها قمنا بإزالة الفراغات وكتابة الحرف الأول من الكلمة الأولى صغير وأول كل حرف من الكلمات التالية حرف كبير.
لقد استخدمنا استراتيجية تسمى PascalCase سنأتي على تفاصيلها بعد قليل وهذه الاستراتيجية ليست الوحيدة للتسمية إنما هناك عدة استراتيجيات أخرى لنتعرف عليها معاً.
تأتي التسمية من حيوان الجمل , فسنام الجمل تمثل الأحرف الكبيرة في اسم المتغير , ربما يبدو الأمر غريباً بعض الشيئ . هذه الطريقة شائعة جداً وتستخدم غالباً لتسمية المتغيرات ، تعتمد على إزالة الفراغات بين الكلمات وتكبير أول حرف من كل كلمة عدا الأولى , وعلى سبيل المثال متغير is user logged في المثال السابق يكتب بالطريقة التالية في Camel Case
$isUserLogged = true; #The first letter is not capital and there is no dashes or underscores.
في هذه الطريقة يتم إزالة المسافات وتكبير الحرف الأول من كل كلمة و كتتمة لمثالنا السابق , يكون اسم المتغير كما يلي :
$IsUserLogged = true #All First Letters are caps and no spaces.
أغلب المبرمجين الأنيقين يستخدمون هذه الطريقة , لسبب ما.
هذه الطريقة تقوم باستبدال كل محرف مسافة ب(_) مع الإبقاء على الأحرف صغيرة وهناك طريقة فرعية منها تسمى Snake case All cap) وفيها يتم تكبير كل الحروف.
للكتابة بطريقة snake case:
$is_user_logged = true; #no Caps at all and replace spaces with underscore (_)
ينتشر استخدام هذه الطريقة للمبرمجين بلغة php بشكل كبير , وأيضاً لتسمية قواعد البيانات وحقول وجدوال قواعد البيانات.
وللكتابة بطريقة Snake case All cap):
$IS_USER_LOGGED = true; #All Caps and replace spaces with underscores (_)
يكثر استخدام هذه الطريقة في تسمية الثوابت .
صحيح , أنت لم تخطأ في القراءة , يقصد ب kebab سيخ الكباب (نوع من أنواع الطعام) , و في هذه الطريقة يتم استبدال كل محرف مسافة ب(-) فنكتب بالشكل التالي:
$is-user-logged = true; #no Caps and replace spaces with dashes.
يكثر استخدام هذه الطريقة في تسمية الكلاسات في css مثلاً , او في الروابط التي تندرج تحت قسم الروابط النظيفة Clean Links .
جميع الطرق السابقة صحيحة , لا يوجد أفضل أو اسواً بينهما , تكمن الفكرة في القواعد المتعارف عليها ومخالفتك للقواعد لا يعني أن الكود لن يعمل , لكن لم تخالف القواعد أصلاً ؟ شاركنا برأيك عن الطريقة المفضلة لديك في كتابة الكود في التعليقات على صفحة نقرة الرسمية على فيسبوك https://www.facebook.com/naqrahOfficial