צרו הנחיות יעילות עבור 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 כאשר הם:
- אל תתייחסו לבקשה: הקוד פותר בעיה שונה מזו המבוקשת.
- להכיל פרצות אבטחה: השתמש בשיטות לא בטוחות או חשוף נתונים רגישים.
- מורכבים מדי: משימות פשוטות המיושמות עם מורכבות מיותרת.
- השתמש בשיטות שהוצאו משימוש: הסתמך על ממשקי API מיושנים או מיושנים.
- טיפול בשגיאות חסר: אל תביא בחשבון תרחישי כשל פוטנציאליים.
- הפרת תקני קידוד: אל תפעלו לפי הנהלים הקבועים של הצוות שלכם.
דוגמה להצעה לדחייה:
בשורת: "יצירת פונקציית אימות סיסמה מאובטחת"
הצעה גרועה:
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;
}
השינוי שלך לקריאות טובה יותר ו-JavaScript מודרני:
function calculateTotal(items) {
return items.reduce((total, item) => total + item.price, 0);
}
אסטרטגיות לשיפור הצעות
כאשר הצעה אינה נכונה, נסה את הגישות הבאות:
מקד את ההנחיה שלך:
- הוסף דרישות ספציפיות יותר.
- כלול דוגמאות לקלט/פלט צפוי.
- ציין את סגנון התיכנות או המסגרת שבהם אתה משתמש.
בקש שינויים:
- "הפוך את הפונקציה הקודמת לחזקה יותר עם טיפול בשגיאות."
- "פשט את הקוד שכתבת זה עתה."
- "הוסף סוגי TypeScript לפונקציה הקודמת."
בנה בהדרגה:
- התחל עם גרסה בסיסית ובקש שיפורים.
- הוסף תכונות אחת בכל פעם במקום לבקש הכל בבת אחת.
- בדוק כל איטרציה לפני המעבר לשיפור הבא.
Tip
בעת שינוי הצעות, שמור על החלקים שעובדים היטב והיה ספציפי לגבי מה שצריך לשנות. זה עוזר ל-Copilot להבין את ההעדפות שלך ולספק הצעות טובות יותר לעתיד.
Summary
יצירת הנחיות אפקטיביות עבור GitHub Copilot חיונית למקסום הפוטנציאל שלו בקידוד ויב. על ידי התחלה מתיאורים כלליים, מתן דוגמאות קונקרטיות, פירוק משימות מורכבות ושמירה על תקשורת ברורה, תוכל להנחות את Copilot לייצר קוד איכותי שמתאים לצרכים שלך. חזרה על הנחיות והבנה כיצד להעריך הצעות ישפרו עוד יותר את חוויית הפיתוח שלך, ויאפשרו לך למנף סיוע בינה מלאכותית ביעילות תוך שמירה על שליטה בתהליך הקידוד.