| name | arabic-code-review |
| description | مراجعة كود عربي — راجع الكود مع فحص التعامل مع النصوص العربية وRTL والتعليقات العربية |
| version | 1.0.0 |
| author | Mousa Abu Mazin |
| license | MIT |
| platforms | ["linux","macos"] |
| prerequisites | {"commands":[],"env_vars":[]} |
| metadata | {"hermes":{"tags":["arabic","code-review","rtl","unicode","i18n"]}} |
مراجعة الكود العربي
مراجعة متخصصة للكود الذي يتعامل مع النصوص العربية. استخدم عندما يطلب المستخدم مراجعة كود يتعامل مع العربي.
الفحوصات
1. ترميز Unicode
- هل الملفات محفوظة بـ UTF-8?
- هل يتعامل مع BOM بشكل صحيح?
- هل يعالج الحروف المركبة (combining characters)?
2. اتجاه النص (RTL)
- هل يستخدم
dir="rtl" في HTML?
- هل CSS يستخدم
direction: rtl و text-align: right?
- هل يستخدم Logical Properties (
margin-inline-start بدل margin-left)?
- هل الأيقونات والأسهم معكوسة؟
3. معالجة النصوص العربية
- هل يتعامل مع التشكيل بشكل صحيح?
- هل يعمل regex مع العربي? (
\p{Arabic} بدل [a-zA-Z])
- هل الفرز (sorting) يستخدم
Intl.Collator('ar')?
- هل البحث يطبّع الألف/الياء (أ/إ/آ → ا، ي → ى)?
4. الأرقام
- هل يدعم الأرقام العربية (٠١٢٣٤٥٦٧٨٩)?
- هل يستخدم
toLocaleString('ar') للتنسيق?
- هل التاريخ يدعم التقويم الهجري?
5. أخطاء شائعة
const isLetter = /[a-zA-Z]/.test(char);
const isLetter = /\p{Letter}/u.test(char);
const len = text.length;
const stripped = text.normalize("NFC").replace(/[\u064B-\u065F]/g, "");
const len = stripped.length;
names.sort();
const collator = new Intl.Collator("ar");
names.sort(collator.compare);
text.includes("محمد");
function normalizeArabic(t) {
return t
.replace(/[أإآ]/g, "ا")
.replace(/ة/g, "ه")
.replace(/ى/g, "ي");
}
normalizeArabic(text).includes(normalizeArabic("محمد"));
صيغة المراجعة
مراجعة الكود العربي:
| # | الملف | المشكلة | الخطورة | الإصلاح |
|---|
| 1 | file.js:12 | regex لا يدعم العربي | عالية | استخدم \p{Letter} |
| ... | | | | |
التقييم: [X/10] جاهزية عربية
متى تستخدم
- المستخدم يبني تطبيق عربي أو ثنائي اللغة
- يطلب مراجعة كود يتعامل مع نصوص عربية
- يسأل "هل الكود يدعم العربي بشكل صحيح?"