פרומפטים לתכנות
פרומפטים לעבודת פיתוח יומיומית: הסבר, דיבאג, בדיקות, ריפקטורינג, סקירה ותיעוד קוד בכל שפה.
פרומפטים אלה לכתיבת קוד נכתבו עבור פרויקטים אמיתיים, לא כדוגמאות צעצוע. הם מכסים הסבר של קוד לא מוכר, ניפוי שגיאות (דיבאגינג) עם השערות מדורגות, כתיבת בדיקות יחידה, ארגון מחדש של קוד (refactoring), בדיקת diffs, שאילתות SQL, ביטויים רגולריים (regex), חילוץ מבעיות ב-Git, בדיקות אבטחה, תיעוד וסקריפטים קטנים. רובם מתאימים לכל שפה: פשוט ממלאים את השפה, הפריימוורק או הכלי ב-[סוגריים המרובעים] ומדביקים את הקוד במקום המיועד לכך בפרומפט. קטעי קוד קצרים וממוקדים מניבים תוצאות טובות יותר מקבצים שלמים.
כל פרומפט מבקש משהו שניתן לאמת. אפשר להריץ בדיקות, להשוות את ההסברים מול הקוד, ותיקונים מגיעים עם הסבר מנומק. כך קל יותר לזהות תשובות שגויות — דבר קריטי, שכן בינה מלאכותית עלולה לייצר קוד שנראה נכון אך נכשל במקרי קצה או משתמש בפונקציות שאינן קיימות. אפשר להשתמש ב"העתקה" כדי להעביר את הפרומפט לעורך הקוד או להערות, או ב"שימוש בצ'אט" כדי לפתוח אותו ב-ChatG, שם הקוד מוצג בבלוקים מודגשים עם כפתור העתקה.
לפני שמדביקים קוד, יש להסיר מפתחות API, סיסמאות, טוקנים ומידע של לקוחות, ולוודא שהמעסיק מאפשר שיתוף של הקוד עם שירותי AI חיצוניים. לשאלות נקודתיות, עוזר הקוד יהיה מהיר יותר. להעמקה בנושאי תהליכי עבודה ומגבלות, מומלץ לקרוא את AI לתכנות ואת ChatG למפתחים.
איך להתאים את הפרומפטים האלה
- הוסיפו גרסאות ומגבלות: גרסת השפה, פריימוורק, סביבת ריצה ודרישה כמו "ללא תלויות (dependencies) חדשות".
- צמצמו את הקלט לדוגמה מינימלית שעדיין משקפת את הבעיה.
- הדביקו בחזרה את התוצאה לאחר ניסיון התיקון, כולל שגיאות חדשות שצצו, ושאלו מה כדאי לנסות הלאה.
- בקשו פלט במבנה ספציפי, כגון diff, פונקציה יחידה או טבלת אפשרויות.
תמיד כדאי לקרוא את הקוד שנוצר לפני שמריצים אותו, ולהריץ אותו תחילה בסביבה מבודדת ובטוחה.
-
01
הסבר קוד כמו מהנדס בכיר
אתם מהנדסי [שפה] בכירים שחונכים מפתח ג'וניור. הסבירו שלב אחר שלב מה הקוד הבא עושה, ולאחר מכן הצביעו על כל דבר יוצא דופן, מסוכן או שראוי לשכתוב (refactoring). קוד: [הדביקו קוד]
-
02
איתור שגיאות (Debug) עם דירוג גורמים
קוד ה-[שפה או framework] שלי זורק את השגיאה הבאה: [הדביקו שגיאה ו-stack trace]. הנה הקוד הרלוונטי: [הדביקו קוד]. רשמו את שלושת הגורמים הסבירים ביותר לפי סדר, הסבירו איך לאמת כל אחד מהם ותנו פתרון לגורם הסביר ביותר.
-
03
בדיקות יחידה (Unit Tests) עם מקרי קצה
כתבו בדיקות יחידה בעזרת [testing framework] עבור הפונקציה שלמטה. כסו קלט תקין, ערכי קצה, קלט ריק או null וטיפוסים לא תקינים, ותנו לכל בדיקה שם לפי ההתנהגות שהיא בודקת. פונקציה: [הדביקו פונקציה]
-
04
ריפקטורינג בלי לשנות התנהגות
שכתבו (refactor) את קוד ה-[שפה] הזה כדי שיהיה קריא וקל יותר לתחזוקה מבלי לשנות את התנהגותו. השתמשו בשמות ברורים, פונקציות קטנות יותר ופחות כפילויות, ושמרו על הממשק הציבורי זהה. הסבירו בקצרה כל שינוי. קוד: [הדביקו קוד]
-
05
סקירת PR לפי רמת חומרה
סקרו את ה-diff הזה של Pull Request כסוקרים קפדניים אך חיוביים. חלקו את ההערות שלכם לבאגים, אבטחה, ביצועים וסגנון קוד, סמנו כל הערה כחוסמת (blocking) או אופציונלית, והציעו שינויי קוד ספציפיים. Diff: [הדביקו diff]
-
06
שאילתת SQL מהגדרות טבלאות
כתבו שאילתת [PostgreSQL, MySQL או SQLite] שמבצעת [תארו מה נדרש] תוך שימוש בטבלאות הבאות: [הדביקו הגדרות טבלאות]. הסבירו את השאילתה במילים פשוטות והציעו אינדקס במידה והטבלאות גדולות.
-
07
ביטוי רגולרי (Regex) עם מחרוזות בדיקה
כתבו ביטוי רגולרי עבור [שפה או כלי] שתואם ל-[תיאור התבנית] אך לא ל-[תיאור חריגות]. הסבירו כל חלק בתבנית, ותנו חמש מחרוזות שצריכות להתאים וחמש שלא.
-
08
המרת קוד לשפה אחרת
המיר את קוד ה-[שפת מקור] הזה ל-[שפת יעד] בצורה אידיומטית. אין לתרגם שורה אחר שורה; השתמשו בספריות ובדפוסים המקובלים בשפת היעד, וציינו כל התנהגות שונה, כגון חילוק מספרים שלמים או טיפול בשגיאות. קוד: [הדביקו קוד]
-
09
נקודת קצה של API עם ולידציה
כתבו נקודת קצה (endpoint) ב-[framework] עבור מתודת [מתודת HTTP] לנתיב [route] שמבצעת [מה היא אמורה לעשות]. בצעו ולידציה לשדות הקלט הבאים: [שדות וכללים], החזירו הודעות שגיאה ברורות עם קודי סטטוס מתאימים, וצרפו דוגמה לבקשה ותשובה.
-
10
סקריפט Shell בטוח עם בדיקת הרצה (dry run)
כתבו סקריפט [bash או PowerShell] שמבצע [משימה, למשל: שינוי שמות כל התמונות בתיקייה לפי תאריך הצילום]. הפכו אותו לבטוח: הוסיפו אפשרות ל-dry-run, עצרו בשגיאות והדפיסו מה הסקריפט עושה. הוסיפו הערות לכל חלק.
-
11
איתור ותיקון צוואר בקבוק בביצועים
פונקציית ה-[שפה] הזו איטית בקלטים גדולים של כ-[גודל קלט]: [הדביקו קוד]. הסבירו את סיבוכיות הזמן והמקום שלה, אתרו את צוואר הבקבוק והציעו גרסה מהירה יותר עם הסיבוכיות החדשה שלה. הפלט חייב להישאר ללא שינוי.
-
12
תכנון סכמת מסד נתונים
תכננו סכמת מסד נתונים עבור [תיאור אפליקציה, למשל: מערכת הזמנות קטנה] עם הדרישות הבאות: [דרישות]. ציינו את הטבלאות, העמודות עם הטיפוסים, המפתחות והקשרים, וציינו החלטת תכנון אחת שהייתם שוקלים מחדש ככל שהאפליקציה תגדל.
-
13
הוספת docstrings והערות לקוד
הוסיפו לקוד שלמטה docstrings או הערות ברורות בסגנון המקובל ב-[שפה]. תארו את מטרת כל פונקציה, הפרמטרים שלה, ערכי ההחזרה ושגיאות אפשריות, ומבלי לשנות את הקוד עצמו. קוד: [הדביקו קוד]
-
14
יציאה בטוחה מבלגן ב-Git
נקלעתי למצב הבא ב-Git: [לתאר מה קרה, למשל ביצוע commit לענף הלא נכון ו-push]. נא להסביר מה קורה כאן, לתת לי את הפקודות המדויקות לתיקון בטוח, ולהזהיר אותי מכל פקודה שמשכתבת היסטוריה משותפת.
-
15
לימוד מושג באמצעות תרגילים
למד אותי על [מושג תכנותי, למשל רקורסיה או closures] בשפת [שפה]. התחל בהסבר קצר ודוגמה מינימלית, ולאחר מכן תן לי שלושה תרגילים ברמת קושי עולה. המתן לתשובה שלי לפני הצגת הפתרון של כל תרגיל.
-
16
בדיקת אבטחה לקטע קוד
בדוק את קוד ה-[שפה] הזה לאיתור בעיות אבטחה כגון הזרקות (injection), דה-סריאליזציה לא בטוחה, היעדר אימות קלט, סודות מוטמעים בקוד (hard-coded) ואימות לקוי. לכל בעיה, הסבר את הסיכון והצג את הקוד המתוקן. קוד: [להדביק קוד]
-
17
הודעת commit ברורה מתוך diff
כתוב הודעת commit עבור השינויים הבאים, עם שורת סיכום תמציתית בציווי (עד 72 תווים) וגוף שמסביר מה השתנה ולמה: [לתאר או להדביק את ה-diff]
-
18
השוואת ספריות או גישות
עליי לבצע [משימה] בפרויקט [שפה או framework] עם המגבלות הבאות: [מגבלות, למשל bundle קטן, ללא תלויות נייטיב]. השווה בין שתיים או שלוש גישות או ספריות נפוצות בטבלה הכוללת יתרונות, חסרונות ומתי להשתמש בכל אחת, וציין אילו פרטים כדאי לאמת בתיעוד הרשמי שלהן.
-
19
רכיב ממשק משתמש נגיש
בנה רכיב [framework, או HTML, CSS ו-JavaScript נקיים] נגיש עבור [רכיב, למשל רכיב כרטיסיות (tabs)]. דרישות: [דרישות]. כלול תמיכה במקלדת, מאפייני ARIA לפי הצורך ודוגמת שימוש קצרה.
-
20
סקריפט לניקוי ועיבוד קובץ נתונים
כתוב סקריפט ב-[שפה] שקורא [סוג קובץ, למשל קובץ CSV] עם העמודות הבאות: [עמודות], לאחר מכן [מה לחשב או לעבד], וכותב את התוצאה אל [פלט]. טפל בערכים חסרים ובשורות שגויות, והדפס סיכום קצר בסיום.