أنشئ محفزات فعالة ل GitHub Copilot
prompt هو تعليم لغة طبيعية يخبر GitHub Copilot بما تريد أن يفعله. يمكن استخدام المطالبات لطرح الأسئلة أو توصيل الطلبات أو وصف المهام.
على سبيل المثال، تمثل المطالبات التالية سؤالا وطلبا ووصفا للمهمة.
Question: How do I create a button that submits a form?
Request: Add a button that opens a modal dialog. The button should be blue with rounded corners.
Task: Build a product page that displays a product title, product image, product description, and price. Product information should be fetched from the attached ProductsList.json file. The price should be formatted as currency. The page should also include a button to add the product to the cart.
جودة السؤال الخاص بك تؤثر مباشرة على جودة استجابة GitHub Copilot.
ما الذي يجعل المطالبة جيدة؟
إنشاء محفزات عالية الجودة أمر ضروري للحصول على أقصى قيمة من GitHub Copilot. ستساعدك الاستراتيجيات التالية على صياغة مطالبات تولد استجابات أكثر دقة وملاءمة وفائدة.
ابدأ عام، ثم احصل على محدد
عند كتابة طلب ل Copilot، ابدأ بوصف عام لهدفك أو سيناريوتك، ثم قدم متطلبات محددة. هذا النهج يمنح Copilot السياق اللازم مع ضمان تلبية احتياجاتك التفصيلية.
Example:
Write a function that tells me if a number is prime.
The function should take an integer and return true if the integer is prime.
The function should error if the input is not a positive integer.
تقديم أمثلة ملموسة
الأمثلة هي واحدة من أكثر الطرق فعالية للتواصل مع Copilot. يمكنك تقديم أمثلة على بيانات الإدخال والمخرجات المتوقعة وحتى أمثلة على التطبيقات لتوجيه فهم الذكاء الاصطناعي.
Example:
Write a function that finds all dates in a string and returns them in an array. Dates can be formatted like:
- 05/02/24
- 05/02/2024
- 5/2/24
- 5/2/2024
- 05-02-24
- 05-02-2024
- 5-2-24
- 5-2-2024
Example usage:
findDates("I have a dentist appointment on 11/14/2023 and book club on 12-1-23")
Expected return: ["11/14/2023", "12-1-23"]
تقسيم المهام المعقدة إلى خطوات أبسط
عند مواجهة مهمة معقدة أو كبيرة ، قم بتحللها إلى مكونات أصغر يمكن التحكم فيها. يؤدي هذا النهج إلى نتائج أفضل ويسهل تصحيح الأخطاء الفردية وتحسينها.
مثال: بدلا من طلب Copilot إنشاء لغز بحث كلمات كامل، قم بقسمه:
Write a function to generate a 10 by 10 grid of lettersWrite a function to find all words in a grid of letters, given a list of valid wordsWrite a function that uses the previous functions to generate a 10 by 10 grid containing at least 10 wordsUpdate the previous function to print the grid and 10 random words from the grid
القضاء على الغموض
تجنب الإشارات الغامضة والمصطلحات الغامضة التي يمكن تفسيرها بطرق متعددة. كن واضحا بشأن ما تشير إليه وما تريد من Copilot أن يفعله.
أمثلة سيئة:
- "ماذا يفعل هذا؟" (من غير الواضح ما الذي يشير إليه "هذا").
- "إصلاح الخطأ" (لا يحدد الخطأ أو كيفية إصلاحه).
أمثلة أفضل:
- "ماذا تفعل وظيفة createUser؟"
- "ماذا يفعل الرمز في ردك الأخير؟"
- "إصلاح خطأ التحقق من الصحة في حقل إدخال البريد الإلكتروني."
اعتبارات المكتبة:
- إذا كنت تستخدم مكتبة غير شائعة، فصف الغرض منها.
- بالنسبة لمكتبات معينة، قم بتضمين عبارات الاستيراد أو حدد المكتبة التي تريد استخدامها.
توفير السياق ذي الصلة
ساعد Copilot على فهم هيكل ونوايا مشروعك من خلال إدارة بيئة التطوير بفعالية.
في IDE الخاص بك:
- افتح الملفات ذات الصلة وأغلق الملفات غير ذات الصلة.
- حدد أقسام الكود المحددة التي تريد من Copilot الرجوع إليها.
- استخدم زر إضافة السياق في عرض الدردشة لإرفاق ملفات أو رموز أو محتوى مساحة عمل محددة.
- أشار إلى السياق مباشرة في طلبك مع
#-مراجع مثل#fileو#selection.
In Copilot Chat:
- قم بالإشارة إلى ملفات محددة أو كتل التعليمات البرمجية.
- إرفاق الوثائق أو المواصفات ذات الصلة.
- استخدم مسارات ملفات واضحة وأسماء وظائف.
التكرار والتنقيح
لا تتوقع نتائج مثالية في المحاولة الأولى. يعمل Copilot بشكل أفضل عندما تشارك في محادثة متكررة، وتقوم بتحسين طلباتك بناء على الردود التي تتلقاها.
استراتيجيات التكرار:
- إذا كنت تستخدم اقتراحات مضمنة، فاحذف وحاول مرة أخرى باستخدام مطالبة معدلة.
- في Copilot Chat، راجع الردود السابقة واطلب تعديلات محددة.
- البناء على الحلول الجزئية من خلال طلب تحسينات تدريجية.
الاحتفاظ بسجل المحادثات ذي الصلة
يستخدم Copilot Chat تاريخ المحادثات لفهم السياق، لذا قم بإدارة هذا التاريخ بشكل استراتيجي.
أفضل الممارسات:
- ابدأ سلاسل رسائل جديدة لمهام أو مشاريع مختلفة.
- حذف الطلبات غير ذات الصلة أو غير الناجحة التي قد تربك الردود المستقبلية.
- حافظ على تركيز المحادثات على الوظائف ذات الصلة.
اتباع ممارسات الترميز الجيدة
جودة قاعدة الكود الحالية لديك تؤثر على قدرة Copilot على توليد الاقتراحات المناسبة. حافظ على معايير عالية في التعليمات البرمجية الخاصة بك للحصول على مساعدة أفضل في الذكاء الاصطناعي.
عوامل جودة الكود:
- استخدم نمط وأنماط التعليمات البرمجية المتسقة.
- اختر الأسماء الوصفية للمتغيرات والوظائف.
- أضف تعليقات ذات مغزى لشرح المنطق المعقد.
- هيكل الكود إلى مكونات معيارية جيدة النطاق.
- قم بتضمين اختبارات الوحدة الشاملة.
Note
يمكنك طلب المساعدة من Copilot لتحسين جودة الكود الخاص بك من خلال طلب التعليقات، أو إعادة هيكلة الاقتراحات، أو تقسيم الوظائف الكبيرة إلى أجزاء أصغر وأسهل في الإدارة.
المطالبات الجيدة هي:
- واضح: صف بالضبط ما تريد.
- محدد: تضمين تفاصيل التخطيط أو السلوك أو التصميم.
- السياقي: المرجع للتعليمات البرمجية أو البنية الحالية.
التكرار على المطالبات
إذا لم يتوافق رد GitHub Copilot الأولي مع توقعاتك، فقد تحتاج إلى تحسين الطلب. ضع في اعتبارك هذه الاستراتيجيات:
- قم بتحرير المطالبة لتكون أكثر تحديدا.
- أضف سياقا إلى الدردشة يوضح أهدافك أو متطلباتك.
- استخدم Copilot Chat لطرح أسئلة متابعة تستند إلى الردود السابقة.
تقييم والاستجابة لاقتراحات Copilot
فهم كيفية تقييم اقتراحات Copilot أمر بالغ الأهمية لبرمجة الاهتزاز الفعالة. لن يكون كل اقتراح مثاليا ، ومعرفة وقت قبول الردود أو رفضها أو تعديلها سيؤدي إلى تحسين تجربة التطوير بشكل كبير.
متى تقبل الاقتراحات
اقبل اقتراحات Copilot عندما:
- تلبية متطلباتك: الرمز يفعل بالضبط ما طلبته.
- اتبع أفضل الممارسات: يستخدم الأنماط المناسبة واصطلاحات التسمية والبنية.
- منظمة بشكل جيد: التعليمات البرمجية قابلة للقراءة والصيانة والتنسيق بشكل صحيح.
- قم بتضمين معالجة الأخطاء المناسبة: تتم معالجة حالات الحافة وحالات الفشل المحتملة.
- مطابقة نمط مشروعك: يتوافق مع أنماط قواعد التعليمات البرمجية والاصطلاحات الحالية.
مثال على اقتراح جيد لقبول:
فوري: "إنشاء وظيفة للتحقق من صحة عناوين البريد الإلكتروني"
Copilot يقترح:
function validateEmail(email) {
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
if (typeof email !== 'string') {
throw new Error('Email must be a string');
}
return emailRegex.test(email.toLowerCase());
}
يجب قبول هذا الاقتراح لأنه يتضمن التحقق من صحة الإدخال ومعالجة الأخطاء ويستخدم نمط تعبير عادي معقول.
متى ترفض الاقتراحات
رفض اقتراحات Copilot عندما:
- لا تعالج مطالبتك: تحل التعليمات البرمجية مشكلة مختلفة عن المطلوبة.
- احتواء الثغرات الأمنية: استخدم ممارسات غير آمنة أو كشف البيانات الحساسة.
- معقدة للغاية: مهام بسيطة يتم تنفيذها بتعقيد غير ضروري.
- استخدام الأساليب المهملة: الاعتماد على واجهات برمجة التطبيقات القديمة أو القديمة.
- عدم معالجة الأخطاء: لا تأخذ في الاعتبار سيناريوهات الفشل المحتملة.
- انتهاك معايير الترميز: لا تتبع الممارسات المعمول بها لفريقك.
مثال على اقتراح للرفض:
فوري: "إنشاء وظيفة آمنة للتحقق من صحة كلمة المرور"
اقتراح ضعيف:
function validatePassword(password) {
return password.length > 6;
}
يجب رفض هذا لأنه مبسط للغاية بالنسبة لمتطلبات الأمان ولا يتحقق من صحة قوة كلمة المرور بشكل صحيح.
متى يتم تعديل الاقتراحات
عدل اقتراحات Copilot عندما:
- صحيحة في الغالب ولكنها تحتاج إلى تعديلات: المنطق الأساسي سليم ولكن التفاصيل تحتاج إلى تغيير وبالد.
- تحتاج إلى ميزات إضافية: الوظيفة الأساسية جيدة ولكنها تتطلب تحسينات.
- لديك مشكلات بسيطة في النمط: تعمل التعليمات البرمجية ولكنها لا تتطابق مع تفضيلات التنسيق.
- تتطلب أسماء متغيرات مختلفة: المنطق صحيح ولكن يمكن تحسين التسمية.
- تحتاج إلى تحسينات الأداء: وظيفية ولكن يمكن أن تكون أكثر كفاءة.
مثال على اقتراح للتعديل:
Copilot يقترح:
function calculateTotal(items) {
let total = 0;
for (let i = 0; i < items.length; i++) {
total += items[i].price;
}
return total;
}
التعديل الخاص بك لتحسين قابلية القراءة وجافا سكريبت الحديثة:
function calculateTotal(items) {
return items.reduce((total, item) => total + item.price, 0);
}
استراتيجيات لتحسين الاقتراحات
عندما لا يكون الاقتراح صحيحا تماما، جرب هذه الأساليب:
تحسين مطالبتك:
- أضف المزيد من المتطلبات المحددة.
- قم بتضمين أمثلة على المدخلات / المخرجات المتوقعة.
- حدد نمط البرمجة أو إطار العمل الذي تستخدمه.
طلب التعديلات:
- "اجعل الوظيفة السابقة أكثر قوة من خلال معالجة الأخطاء."
- "بسط الكود الذي كتبته للتو."
- "إضافة أنواع TypeScript إلى الدالة السابقة."
البناء بشكل تدريجي:
- ابدأ بإصدار أساسي واطلب التحسينات.
- أضف الميزات واحدة تلو الأخرى بدلا من طلب كل شيء مرة واحدة.
- اختبر كل تكرار قبل الانتقال إلى التحسين التالي.
Tip
عند تعديل الاقتراحات ، احتفظ بالأجزاء التي تعمل بشكل جيد وكن محددا بشأن ما يجب تغييره. هذا يساعد Copilot على فهم تفضيلاتك وتقديم اقتراحات مستقبلية أفضل.
Summary
إنشاء محفزات فعالة ل GitHub Copilot أمر ضروري لتعظيم إمكاناته في برمجة الأجواء. من خلال البدء بأوصاف عامة، وتقديم أمثلة ملموسة، وتحليل المهام المعقدة، والحفاظ على تواصل واضح، يمكنك توجيه Copilot لإنشاء كود عالي الجودة يلبي احتياجاتك. سيؤدي تكرار المطالبات وفهم كيفية تقييم الاقتراحات إلى تعزيز تجربة التطوير الخاصة بك ، مما يسمح لك بالاستفادة من مساعدة الذكاء الاصطناعي بشكل فعال مع الحفاظ على التحكم في عملية الترميز.