إصلاح جماعي لجميع مشكلات قاعدة واحدة في قاعدة الكود
متى تستخدمه: Sonar علّم 47 حالة لنفس القاعدة وتريد إصلاحها جميعاً في PR واحد.
المتطلبات الأساسية
- رمز Sonar — User → Security → Generate Token (محدد بمشروع إن أمكن)
- Docker متاح — إعداد docker قياسي؛ الصورة تُجلب عند التشغيل الأول
الخطوات
-
تحديد القاعدةUse sonarqube-mcp. Top 5 rules by open-issue count in project 'foo'.✓ تم النسخ→ مفتاح القاعدة + العدد + الخطورة
-
جلب جميع حالات واحدة منهاList every open issue for rule java:S2293 (Use Diamond Operator) — file, line, snippet.✓ تم النسخ→ 47 مشكلة مع file:line والكود المحيط
-
تطبيق الإصلاحFor each, apply the rule's recommended fix. Keep changes minimal; don't reformat.✓ تم النسخ→ 47 تعديلاً صغيراً عبر ~20 ملفاً
-
إعادة الفحص للتحققAfter my CI runs the next analysis, recheck the issue count for that rule.✓ تم النسخ→ العدد يصل إلى صفر
النتيجة: PR واحد مركّز يغلق قاعدة كاملة، بدلاً من 47 commit متفرق.
المزالق
- الإصلاح التلقائي للقاعدة يكسر الكود المولّد — فلتر حسب المجلد؛ تخطَّ المسارات المولّدة/الاختبارية أو راجعها يدوياً