قواعد CleanLens
جدول القواعد المختصر الذي يُشحن داخل حزمة الإضافة.
14 قاعدة، تُضبط في .clean-code-tracker.json. لكل قاعدة enabled وseverity (low | medium | high | critical)؛ وبعضها يأخذ أيضاً limit أو options.
| معرّف القاعدة | متى يُبلَّغ عنها | الحد الافتراضي | JS/TS | Python |
|---|---|---|---|---|
maxFunctionLines | دالة أطول من الحد | 40 سطراً | ✅ | ✅ |
maxFileLines | ملف أطول من الحد | 400 سطر | ✅ | ✅ |
maxParameters | دالة تأخذ معاملات أكثر من الحد | 5 | ✅ | ✅ |
maxComplexity | التعقيد الدوري يتجاوز الحد | 10 | ✅ | ✅ (تقريبي) |
maxNestingDepth | تداخل جمل التحكم أعمق من الحد | 4 | ✅ | ✅ (حسب المسافة البادئة) |
detectDuplicateCode | كتلة متطابقة تتكرر عبر الملفات | options.minLines = 6 | ✅ | ✅ |
detectUnusedCode | import / متغير / دالة لا يُستخدم أبداً | — | ✅ | ✅ (الاستيرادات فقط) |
requireClearVariableNames | اسم مبهم مثل data1 أو x | — | ✅ | ✅ |
requireErrorHandling | عملية معرّضة للفشل بلا try | — | ✅ (await) | ✅ (open / requests / …) |
forbidEmptyCatchBlocks | catch / except فارغة | — | ✅ | ✅ (pass) |
forbidHardcodedSecrets | مفتاح API أو كلمة مرور في الكود | — | ✅ | ✅ |
forbidDebugStatements | console.log / debugger / print / breakpoint | — | ✅ | ✅ |
requireSingleResponsibility | class فيه methods كثيرة، أو دالة طويلة ومعقدة معاً | options.maxMethods = 10 | ✅ | ✅ |
requireDocumentationForComplexCode | تعقيد الدالة ≥ الحد بلا JSDoc / docstring | options.complexityThreshold = 15 | ✅ | ✅ |
ملاحظات حول الدقة
requireErrorHandlingوrequireSingleResponsibilityوrequireDocumentationForComplexCodeتقريبية بطبيعتها وقد تنتج إنذارات خاطئة. عطّلها أو ارفع حدودها إذا كانت مزعجة لفريقك.- محلل Python مبني على المسافة البادئة والأنماط (بلا شجرة AST كاملة). لتحليل أدق لاحقاً، يمكن دمج Ruff/Pylint كما في الخطة.
detectUnusedCodeلـ JS/TS بلا معلومات أنواع — يلتقط فقط الحالات الواضحة (اسم يظهر مرة واحدة بالضبط).
للتفاصيل الكاملة انظر 06 — مرجع القواعد.