# دراسة GitClear على 623 مليون تغيير كود: التكرار ارتفع 81% في عصر أدوات AI

> **المغزى:** الأدوات تحسّن تمامًا ما طُلب منها، أن يعمل الحل ويمر، وأرخص طريق لذلك كتابة الكود من جديد وإسكات الأخطاء، وتكلفة ذلك تظهر بعد سنة لا في الـ sprint الحالي.

- المصدر: المغزى (https://almaghza.com/a/2026-08-04-gitclear-maintainability-gap-ai-code/)
- التاريخ: 21 صفر - 4 أغسطس 2026 (2026-08-04)
- القسم: برمجيات
- الوسوم: جودة الكود، أدوات المطورين، الذكاء الاصطناعي

نشرت GitClear وGitKraken بحثًا لعام 2026 بعنوان The Maintainability Gap، حللتا فيه 623 مليون تغيير كود حقيقي بين عامي 2023 و2026. والعينة ليست استبيانًا، بل commits فعلية من مستودعات تعمل، وربعها تقريبًا أصبح مكتوبًا بمساعدة الذكاء الاصطناعي.

وتروي أربعة أرقام في البحث القصة نفسها:

- ارتفع تكرار الكود بنسبة 81%.
- انخفض استدعاء الدوال من ملفات أخرى، وهو مؤشر على إعادة الاستخدام، بنسبة 35%.
- انخفض نقل السطور ضمن عمليات الـ refactoring بنسبة 70%.
- انخفضت صيانة الكود القديم بنسبة 74% مقارنة بعام 2022.

ويضيف البحث رقمًا خامسًا: ارتفاع ما يسمى error masking بنسبة 47%. ويقصد به كود يلتقط الخطأ ويُسكته دون معالجة سببه، فلا يتوقف البرنامج، ولا يظهر أن شيئًا ما يعمل بشكل خاطئ.

وللنمط تفسير منطقي. فالنموذج يُقيَّم على أن يعمل الحل ويجتاز الاختبار. وأرخص طريقة لذلك أن يكتب الجزء المطلوب من جديد بجوار الكود الموجود، بدلًا من فهم الكود القديم وإعادة استخدامه. والمنطق نفسه يجعل كتلة try/except أرخص من إصلاح السبب.

وهذا لا يعني أن الأداة ضعيفة، بل أنها تحسّن بدقة ما طُلب منها.

أما التكلفة فلا تظهر في الـ sprint الحالي. فهي تظهر بعد عام، على مطور آخر يفتح الملف ولا يفهم لماذا توجد فيه ثلاث نسخ من الدالة نفسها، أو لماذا يعمل البرنامج رغم خطأ صامت في داخله. وبالنسبة للفرق التي تعتمد على هذه الأدوات، يصبح قياس التكرار وإعادة الاستخدام جزءًا من قياس الإنتاجية نفسها.

## المصادر

- [بحث GitClear: The Maintainability Gap](https://www.gitclear.com/the_ai_code_quality_maintainability_gap)
- [قراءة LeadDev في نتائج البحث](https://leaddev.com/ai/code-maintainability-plummets-in-the-ai-coding-era)
- [رسوم GitClear البيانية لمؤشرات جودة الكود](https://www.gitclear.com/industry_stats/ai_code_quality_signal_graphs)
