الشكل مش هو الصح
كود من غير قواعد مشتركة بيتبعت في مراجعات شكلها “حطيت مسافة” و”شيلت سطر”. المراجعة بتضيع، والـ diff بيتوسخ، والغلطة المنطقية بتتغطى وسط ضوضاء التنسيق.
جودة الكود هنا أربع أسئلة، وكل سؤال له أداة:
Prettier يظبط المسافات والاقتباس والفاصلة المنقوطة. مش بيفهم البرنامج صح ولا غلط.
ESLint يمسك متغير مش مستخدم، أو == وأنت طالب ===. قواعد أنت كاتبها، مش ذوق.
الاختبار يشغّل حتة من الكود ويقارن الناتج بإجابة مكتوبة. لو مفيش تأكيد (assert)، الاختبار مش بيثبت حاجة.
الـ CI يشغّل نفس الأوامر على سيرفر بعد الـ push. الـ hook على اللابتوب ممكن يتعدى. البواب لأ.
ليه الاتنين الأولانيين منفصلين؟
لو أداة واحدة بتعمل الشكل والقواعد، كل خلاف على فاصلة منقوطة يبقى قاعدة lint، والفحص يفشل عشان ذوق. Prettier رأيه واحد ومش بيتناقش. ESLint تسيبه للقرارات اللي ليها معنى: الغلط، التحذير، والحاجة اللي لو اتصلحت أوتوماتيك ممكن تغيّر سلوك البرنامج.
الامتداد مش هو البرنامج
في Cursor و VS Code في امتداد لـ Prettier وامتداد لـ ESLint. الامتداد يرسم الخط الأحمر ويربط الاختصار وأمر الحفظ. الشغل نفسه تعمله حزمة npm متثبتة في المشروع. من غير الحزمة، الامتداد ممكن يشغّل نسخة هو جايبها، وتطلع مختلفة عن نسخة زميلك، والـ CI يرفض شكل أنت شايفه مظبوط على جهازك.