الدرس 4: تسمية الأشياء: التأثير العاطفي للمُعرِّفات الجيدة
يمكن القول إن التسمية هي أصعب مشكلة في البرمجة الجوهرية. يجبر الاسم السيئ القارئ على التوقف، والرجوع إلى الكود المحيط، ورسم خريطة ذهنية للاسم الغامض لمعناه الحقيقي — وهذا استنزاف كبير للـVibe.
إحساس المتغيرات
يجب أن تجيب المتغيرات على ماذا تحتويه و لماذا تحتويه.
| مستوى الـVibe | مثال | المشكلة |
|---|---|---|
| إحساس سيئ | tmp, i, data | غامض جداً. يتطلب البحث عن السياق. |
| إحساس محايد | userList, calc | مقبول، لكن يمكن أن يكون أوضح. |
| إحساس جيد | pendingOrders, monthlyRevenueCalculation | وضوح النية والنوع. |
أفضل الممارسات لتسمية المتغيرات
- استخدم لغة المجال (Domain Language): إذا كنت تعمل ببيانات مالية، استخدم مصطلحات مثل
assetValuationبدلاً منx. - تجنب التعيين الذهني: لا تستخدم الاختصارات إلا إذا كانت مقبولة عالمياً ضمن مجالك (مثل
HTTPمقبول،custAcctليس كذلك). - حدد الوحدات/النوع (عند الضرورة):
userAgeInYears,timeoutMilliseconds.
إحساس الدوال والأساليب
يجب تسمية الدوال كأفعال أو عبارات عمل، تجيب على ماذا يفعل الكود.
| الكيان | الاتفاقية | مثال (إحساس جيد) |
|---|---|---|
| متغيرات Boolean | Is/Has/Should | isLoggedIn, hasPermission |
| الدوال (الأفعال) | فعل + اسم | fetchUserData, calculateTax |
| الفئات/الكائنات | اسم | ShoppingCart, UserAuthenticator |
مثال على تحول الـVibe
javascript // إحساس سيئ: فعل غامض function handle(a, b) { // ... }
// إحساس جيد: وضوح النية والمعاملات function processUserTransaction(userId, amount) { // ... }