We are still cooking the magic in the way!
المشكلة
كود مثل "if (status === 3)" أو "timeout = 86400" لا معنى له لأي شخص يقرأه — بما في ذلك أنت في المستقبل.
الحل
استبدل الأرقام السحرية بثوابت مسماة. الاسم يشرح الغرض وتغيير القيمة يتطلب تعديلاً واحداً فقط.
الفائدة
كود يوثق نفسه وأخطاء أقل عند تغيير القيم ومراجعات كود أسهل.
مثال الكود
// سيء — ماذا يعني 3؟ ما هو 86400؟
if (order.status === 3) { ... }
setTimeout(cleanup, 86400000);
// جيد — يوثق نفسه
const STATUS_APPROVED = 3;
const ONE_DAY_MS = 24 * 60 * 60 * 1000;
if (order.status === STATUS_APPROVED) { ... }
setTimeout(cleanup, ONE_DAY_MS);