Skills: مهارات عمليات الملفات

آخر تحديث: 2026-08-31

الملفات هي حامل الكود — المهارة التي لا تستطيع تشغيل الملفات كمصمم بلا يدين.


1. صندوق أدوات عمليات الملفات

(1) عمليات القراءة

العملية الأداة حالة الاستخدام
قراءة ملف واحد Read مراجعة ملفات محددة
البحث عن أسماء الملفات Glob تحديد نطاق الملفات
البحث في محتويات الملفات Grep تحديد أنماط الكود

(2) عمليات الكتابة

العملية الأداة المخاطر حالة الاستخدام
تعديل دقيق Edit 🟡 إصلاح أخطاء، تعديلات صغيرة
إنشاء/استبدال Write 🔴 ملفات جديدة، إعادة كتابة كاملة
تعديل دفعي Edit + حلقة 🟡 إعادة تسمية، استبدال دفعي

(3) عمليات التنفيذ

العملية الأداة حالة الاستخدام
تنسيق الكود Bash(prettier) توحيد أسلوب الكود
تشغيل نصوص برمجية Bash(python) معالجة بيانات، عمليات دفعية
عمليات Git Bash(git) إدارة الإصدارات

2. أنماط عمليات الملفات

(1) نمط التحليل للقراءة فقط

لا ملفات مُعدلة، مخرجات تحليل فقط:

YAML
---
name: code-metrics
description: "تحليل مقاييس الكود"
tools:
  - Read
  - Grep
  - Glob
---
MARKDOWN
## تدفق التنفيذ
1. Glob لتحديد نطاق ملفات المشروع
2. Grep لحساب أنماط الكود (أصناف، دوال، TODOs)
3. Read لتحليل الملفات الرئيسية بعمق
4. إخراج تقرير المقاييس، بدون تعديل ملفات

(2) نمط التعديل الآمن

نسخ احتياطي قبل التعديل، تحقق بعد:

MARKDOWN
## قواعد التعديل الآمن
1. اقرأ محتويات الملف الحالية
2. حلّل ما يحتاج تعديلًا
3. Edit بدقة، غيّر الأسطر المستهدفة فقط
4. Bash لتشغيل الاختبارات للتحقق
5. إذا فشلت الاختبارات، اشرح المشكلة واقترح التراجع

(3) نمط العمليات الدفعية

MARKDOWN
## تدفق إعادة التسمية الدفعية
1. Glob للحصول على قائمة الملفات المستهدفة
2. اذكر جميع التغييرات المخططة
3. Edit واحدًا تلو الآخر لتنفيذ التغييرات
4. Bash لتشغيل مجموعة الاختبارات الكاملة للتحقق

3. استراتيجيات البحث

(1) مبدأ البحث أولاً

TEXT 📖 للعرض فقط
نهج خاطئ: اقرأ جميع الملفات → تحقق واحدًا تلو الآخر
نهج صحيح: بحث للتحديد → قراءة دقيقة

(2) أنماط البحث الشائعة

هدف البحث نمط Grep مثال
تعريفات الدوال `def \w+ function \w+`
تعليقات TODO TODO|FIXME|HACK اعثر على الديون التقنية
مخاطر أمنية eval(|exec(|subprocess اعثر على استدعاءات خطيرة
تعريفات الأنواع class \w+|interface \w+ اعثر على هياكل الأنواع
ملفات الاختبار test_|_test|\.spec\. اعثر على ملفات الاختبار

(3) تنسيق البحث + القراءة

100%
graph TD
    A[Glob: تحديد قائمة الملفات] --> B[Grep: البحث عن الأنماط الرئيسية]
    B --> C{وجدت الهدف؟}
    C -->|نعم| D[Read: قراءة معمقة]
    C -->|لا| E[توسيع نطاق البحث]
    D --> F{تحتاج تعديل؟}
    F -->|نعم| G[Edit: تعديل دقيق]
    F -->|لا| H[إخراج نتيجة التحليل]

4. ممارسة عمليات الملفات

▶ مثال: مهارة ترحيل مشروع

تحتاج Alice لترحيل مشروع من JavaScript إلى TypeScript:

YAML
---
name: js-to-ts-migration
description: "ترحيل ملفات JS إلى TS"
tools:
  - Read
  - Write
  - Glob
  - Grep
  - Bash
---
MARKDOWN
## تدفق الترحيل
1. Glob للعثور على جميع ملفات .js
2. لكل ملف:
   a. اقرأ المحتويات
   b. حلّل التبعيات والصادرات
   c. Write لإنشاء ملف .ts مقابل
   d. أضف تعليقات توضيحية للأنواع
3. Bash لتشغيل tsc --noEmit للتحقق
4. أخرج تقرير الترحيل

قال Bob: "أكبر خوف في عمليات الملفات هو الحذف أو التعديل العرضي — بحث للتحديد، تعديل دقيق، تحقق بعدها — لا يمكن تخطي أي من هذه الخطوات الثلاث."


❓ الأسئلة الشائعة

س كيف أختار بين Edit وWrite؟
ج فضّل Edit لتعديل الملفات الموجودة (على مستوى السطر)، واستخدم Write لإنشاء ملفات جديدة. لا تستخدم أبدًا Write لاستبدال جزء صغير من ملف كبير.
س كيف أتجنب تفويت ملفات في العمليات الدفعية؟
ج استخدم Glob لسرد جميع الملفات المستهدفة أولاً، وأكد النطاق قبل العمل. سجّل التقدم في كل خطوة للاسترداد بعد الانقطاع.
س كيف أتعامل مع الملفات الكبيرة؟
ج استخدم Grep لتحديد أرقام الأسطر المستهدفة، ثم استخدم Read مع نطاقات أرقام الأسطر لقراءة الأجزاء ذات الصلة، متجنبًا تحميل الملف بالكامل وإهدار السياق.

📖 ملخص


📝 تمارين

  1. أساسي (⭐): أنشئ مهارة تحليل للقراءة فقط تحسب تكرارات TODO/FIXME وتوزيعها في مشروع.
  2. متوسط (⭐⭐): أنشئ مهارة تعديل آمن تضيف تلقائيًا تلميحات الأنواع لدوال Python، ثم تشغل الاختبارات للتحقق.
  3. متقدم (⭐⭐⭐): أنشئ مهارة ترحيل دفعية تحوّل CommonJS require إلى ES Module import، مع معالجة الحالات الحدية مثل التبعيات الدائرية.
Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%