سلسة مبادئ هندسة البرمجيات بلغة PHP 👩💻 مقتبسة من كتاب Robert C. Martin's في هذه السلسلة لن تتعلم كيفية إنشاء برمجيات بلغة PHP ولكن ستكون قادر على كتابة كود 🖥 مقروء ومفهوم وقابل للصيانة الدورية ♻️
في هذه السلسة سأقوم بشرحها بإستخدام الاصدار الثامن من PHP 👩💻
المتغيرات:
يجب عليك إستخدام اسماء متغيرات ذات معنى مناسب لقيمة المتغير #⃣:
الاستخدام السيء:
$ymdstr = date('Y-m-d');الاستخدام الجيد:
$currentDate = date('Y-m-d');يجب عليك إستخدام نفس المفردات لنفس المتغيرات #⃣:
الاستخدام السيء:
getUserInfo();
getUserData();
getUserProfile();
الاستخدام الجيد:
getUser();
استخدام أسماء قابلة للبحث 🔍 بالتأكيد أنت تكتب أكواد أكثر بكثير مما تكتب تعليقات 📝 مما قد يسبب الضياع لك أثناء البحث عن شيء ما في مشروعك الذي تعمل عليه ‼️
مثال 1️⃣
الاستخدام السيء:
$result = json_encode($data, 448);
// ما المقصود ب 448
الاستخدام الجيد:
$json = json_encode($data,JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
مثال 2️⃣
الاستخدام السيء:
class User
{
// ما المقصود برقم 7؟
public $access = 7;
}
$user = new User();
// ما المقصود برقم 4؟
// المقصود من الشرط جلب ال بت ويز (Bitwise) المشتركة والذي هو 4
if ($user->access & 4) {
// Code
}
// ما المقصود بالإجراء التالي؟
$user->access ^= 2;
الاستخدام الجيد:
class User
{
// صلاحية القراءة
public const ACCESS_READ = 1;
// صلاحية الإضافة
public const ACCESS_CREATE = 2;
// صلاحية التعديل
public const ACCESS_UPDATE = 4;
// صلاحية الحذف
public const ACCESS_DELETE = 8;
// صلاحيات المستخدم الإفتراضية والتي هي 7
public $access = self::ACCESS_READ | self::ACCESS_CREATE | self::ACCESS_UPDATE;
}
$user = new User();
if ($user->access & User::ACCESS_UPDATE) {
// كود التعديل المطلوب
}
// إلغاء صلاحيات الإنشاء
$user->access ^= User::ACCESS_CREATE;
هذا كل شيء لليوم 😁 في حال أعجبك هكذا نوع من المنشورات لا تنسا مشاركته مع أصدقائك ☺️