أفضل الممارسات لـ .cursor/rules
.cursor/rules
هي ميزة قوية تساعد الفرق على الحفاظ على معايير ترميز متسقة وتحسين التعاون. يغطي هذا الدليل أفضل الممارسات لإعداد وإدارة القواعد بفعالية.
فهم .cursor/rules
.cursor/rules
هو نظام تكوين يقوم بما يلي:
- تحديد معايير الترميز على مستوى المشروع
- أتمت ة تنظيم الكود
- فرض أنماط متسقة
- تحسين تعاون الفريق
الإعداد الأساسي
إنشاء ملف القواعد
قم بإنشاء ملف .cursor/rules
في جذر مشروعك:
mkdir .cursor
touch .cursor/rules
الهيكل الأساسي
هيكل نموذجي لملف القواعد:
version: 1.0
rules:
- name: "هيكل المكون"
pattern: "src/components/**/*.{ts,tsx}"
template: |
import React from 'react'
interface ${ComponentName}Props {
// الخصائص
}
export const ${ComponentName}: React.FC<${ComponentName}Props> = () => {
return (
<div>
{/* محتوى المكون */}
</div>
)
}
- name: "طبقة الخدمة"
pattern: "src/services/**/*.ts"
template: |
import { ApiClient } from '../utils/apiClient'
export class ${ServiceName}Service {
private client: ApiClient
constructor() {
this.client = new ApiClient()
}
// طرق الخدمة
}
أفضل الممارسات
1. اصطلاحات التسمية المتسقة
استخدم أسماء واضحة ووصفية للقواعد:
rules:
- name: "مكون React"
description: "هيكل مكون React قياسي"
pattern: "src/components/**/*.tsx"
- name: "خدمة API"
description: "قالب خدمة REST API"
pattern: "src/services/**/*.ts"
2. التنظيم النمطي
قم بتجميع القواعد ذات الصلة:
rules:
# قواعد المكونات
- name: "مكون/وظيفي"
pattern: "src/components/**/*.tsx"
- name: "مكون/صنف"
pattern: "src/components/**/*.class.tsx"
# قواعد الخدمات
- name: "خدمة/REST"
pattern: "src/services/rest/**/*.ts"
- name: "خدمة/GraphQL"
pattern: "src/services/graphql/**/*.ts"
3. متغيرات القالب
استخدم متغيرات قالب وصفية:
rules:
- name: "قالب المكون"
pattern: "src/components/**/*.tsx"
template: |
interface ${ComponentName}Props {
${PropName}: ${PropType}
}
export const ${ComponentName} = ({
${PropName}
}: ${ComponentName}Props) => {
return (
<div>
{${PropName}}
</div>
)
}
4. التوثيق
قم بتضمين توثيق واضح في القواعد:
rules:
- name: "خدمة API"
description: |
قالب لأصناف خدمة API.
يتضمن عمليات CRUD القياسية ومعالجة الأخطاء.
pattern: "src/services/**/*.ts"
template: |
/**
* خدمة ${ServiceName}
* تتعامل مع ${ServiceDescription}
*/
export class ${ServiceName}Service {
// التنفيذ
}
5. معالجة الأخطاء
قم بتضمين أنماط معالجة الأخطاء:
rules:
- name: "معالجة أخطاء الخدمة"
pattern: "src/services/**/*.ts"
template: |
try {
// منطق الخدمة
} catch (error) {
if (error instanceof ApiError) {
// معالجة أخطاء API
} else {
// معالجة الأخطاء الأخرى
}
throw error
}
الأنماط المتقدمة
1. القوالب الشرطية
استخدم الشروط في القوالب:
rules:
- name: "مكون مع خصائص"
pattern: "src/components/**/*.tsx"
template: |
${HasProps ? `
interface ${ComponentName}Props {
// الخصائص
}
` : ''}
export const ${ComponentName}${HasProps ? ': React.FC<${ComponentName}Props>' : ''} = () => {
// التنفيذ
}
2. الأنماط المشتركة
حدد الأنماط القابلة لإعادة الاستخدام:
patterns:
typescript-header: |
/**
* @file ${FileName}
* @description ${FileDescription}
* @created ${Date}
*/
rules:
- name: "مكون"
pattern: "src/components/**/*.tsx"
template: |
${patterns.typescript-header}
// تنفيذ المكون
نصائح التحسين
-
تنظيم الملفات
- قم بتجميع الملفات ذات الصلة
- استخدم هياكل دليل متسقة
- اتبع اصطلاحات التسمية
-
كفاءة القوالب
- احتفظ بالقوالب مركزة ومحددة
- تجنب الكود المكرر
- استخدم الأنماط المشتركة للعناصر الشائعة
-
اعتبارات الأداء
- قم بتحديد تعقيد النمط
- استخدم أنماط ملفات محددة
- تجنب المطابقات الواسعة جداً
الأنماط الشائعة
مكونات React
rules:
- name: "مكون React وظيفي"
pattern: "src/components/**/*.tsx"
template: |
import React from 'react'
import styles from './${ComponentName}.module.css'
export interface ${ComponentName}Props {
// الخصائص
}
الخاتمة
الاستخدام الفعال لـ .cursor/rules
يمكن أن يحسن بشكل كبير جودة الكود وإنتاجية الفريق. باتباع أفضل الممارسات هذه، يمكن للفرق:
- الحفاظ على كود متسق
- زيادة سرعة التطوير
- تحسين جودة الكود
- تعزيز تعاون الفريق