שימוש בהתאמה אישית של קוד ב-Gemini Code Assist

במאמר הזה מוסבר איך להשתמש בהתאמה אישית של קוד ב-Gemini Code Assist, ומוצגות כמה שיטות מומלצות. התכונה הזו מאפשרת לקבל המלצות לקוד שמבוססות על הספריות הפנימיות, ממשקי ה-API הפרטיים וסגנון התכנות של הארגון.

לפני שמתחילים

  1. מגדירים את Gemini Code Assist עם מינוי Enterprise.
  2. הגדרת התאמה אישית של קוד ב-Gemini Code Assist.

איך משתמשים בהתאמה אישית של קוד

בטבלה הבאה מפורטות דרכים להתאמה אישית של קוד באמצעות Gemini Code Assist:

טופס איך מפעילים הערות ומקורות מידע

צ'אט בשפה טבעית

מזינים הנחיה בשפה טבעית בצ'אט של Gemini Code Assist בסביבת הפיתוח המשולבת (IDE).

כמה נקודות שכדאי לחשוב עליהן:

  • היסטוריית הצ'אט לא זמינה. אל תשתמשו בשאילתות עם כמה שלבים.
  • אתם יכולים לבקש פרטים נוספים על מקורות, כולל קישורים למקורות הספציפיים.
  • אם מסמנים או בוחרים קוד כששולחים הודעה בצ'אט, Gemini Code Assist משתמש בקוד הזה כדי לשפר את ההתאמה האישית של הקוד ואת איכות הצ'אט.

מידע נוסף זמין במאמר בנושא שיחה עם Gemini Code Assist.

יצירת קוד בסרגל הבחירה המהירה ב-IDE, עם קוד נבחר או בלי, מקישים על Command+Enter (ב-macOS) או על Control+Enter. מידע נוסף זמין במאמר בנושא יצירת קוד באמצעות הנחיות.
קוד טרנספורמציה בסרגל הבחירה המהירה בסביבת הפיתוח המשולבת (IDE), עם קוד נבחר או בלי, מזינים /fix. מידע נוסף זמין במאמר בנושא יצירת קוד באמצעות הנחיות.
השלמה אוטומטית התאמה אישית של הקוד מופעלת באופן אוטומטי ומספקת הצעות על סמך מה שאתם כותבים.

כמה נקודות שכדאי לחשוב עליהן:

  • כדי להציע הצעה, השלמת הקוד צריכה להיות ברמת ודאות מסוימת. חשוב לוודא שיש כמות משמעותית של קוד כדי שהמערכת תוכל לאחזר קטעי קוד רלוונטיים.
  • השלמת הקוד בודקת אם יש לכם את הספריות הנדרשות כדי להשתמש ברכיבים מסוימים של הפונקציה.

מידע נוסף זמין במאמר השלמת קוד.

הקשר של מאגר מרוחק
  1. מתחילים את ההנחיה עם הסמל @. תוצג רשימה של מאגרי מידע מרוחקים זמינים שעברו אינדוקס.
  2. בוחרים מהרשימה את המאגר שרוצים להשתמש בו להוספת הקשר. אפשר גם להתחיל להקליד את שם המאגר כדי לסנן את הרשימה.
  3. אחרי שבוחרים את המאגר, כותבים את שאר ההנחיה.

הקשר של מאגר מרוחק שימושי כשעובדים על משימה שקשורה בעיקר לקבוצה ספציפית של מיקרו-שירותים, ספריות או מודולים.

מידע נוסף מופיע במאמר בנושא קבלת הצעות רלוונטיות יותר באמצעות הקשר של מאגר מרוחק.

תרחישי שימוש והנחיות לדוגמה

בטבלה הבאה מופיעות הנחיות ודוגמאות לשימוש בהתאמה אישית של קוד בתרחישי שימוש ספציפיים:

תרחיש לדוגמה דברים שכדאי לנסות
כתיבת קוד חדש

כדי ליצור קוד בסביבת הפיתוח המשולבת (IDE) או בצ'אט של Gemini Code Assist, אפשר לנסות את הפעולות הבאות:

  • ליצור קוד שישתמש במונחים שכבר מוזכרים בבסיס הקוד.
  • מדביקים את הקוד, למשל חתימה פונקציונלית או קוד עם הערות TODO, ואז מבקשים מ-Gemini Code Assist למלא או להחליף את ההערות TODO בקוד. להוסיף תגובות עם הסבר מתוך ההקשר.

כדאי לנסות ליצור קוד באמצעות ההנחיות הבאות בצ'אט של Gemini Code Assist:

  • "תכתוב פונקציה ראשית שבה נוצר חיבור ל-DATABASE. כולל בדיקות תקינות."
  • "תכתוב FUNCTION_OR_CLASS במבנה הבא: EXPLAIN_STRUCTURE".

אחרי שיוצרים קוד, אפשר לנסות להשתמש בהנחיה נוספת כדי לשפר אותו:

  • "אפשר לנסות את הפקודה /fix כדי לשנות את הקוד שנוצר – למשל, לתקן שגיאות תחביר".
  • ‫"Add missing imports" (הוספת ייבוא חסר).
  • ‫"Try /fix on chat-generated code".
ניקוי, פישוט וארגון מחדש של קוד

כדאי לנסות את ההנחיות הבאות בצ'אט של Gemini Code Assist:

  • "אפשר למזג את IMPORTS_VARIABLES_OR_NOTE_EXPORTED_FUNCTIONS בקובץ הזה?"
  • "איך היית מפשט את הפונקציה FUNCTION_NAME?"
  • "Can you merge FUNCTION_NAME_1 and FUNCTION_NAME_2 into one function?"
  • ‫"Could you inline some variables in FUNCTION_NAME?"
  • "תפשט את שמות המשתנים בפונקציה FUNCTION_NAME"
ציון קריאוּת

כדאי לנסות את ההנחיות הבאות בצ'אט של Gemini Code Assist:

  • ‫"Write the function FUNCTION_NAME in fewer lines of code, if possible."
  • ‫"Add comments to the function FUNCTION_NAME."
  • ‫"Remove unnecessary whitespaces in the function FUNCTION_NAME."
  • ‫"Format the function FUNCTION_NAME in a similar way as the rest of the code."
בדיקת קוד

כדאי לנסות את ההנחיות הבאות בצ'אט של Gemini Code Assist:

  • ‫"Split the code in parts and explain each part using our codebase."
  • "האם יש משתנים או מילות מפתח שאפשר לקצר ולהפוך אותם למובנים יותר?"
  • "תראה לי קוד שימושי מההקשר של REPOSITORY_NAME_PACKAGE_MODULE עבור הקוד הזה".
  • "What do you think about the function FUNCTION_NAME?"
ניפוי באגים

כדאי לנסות את ההנחיות הבאות בצ'אט של Gemini Code Assist:

  • "מופיעה הודעת שגיאה כשאני מנסה לבצע פעולה X או להוסיף Y. למה?"
  • "Can you spot an error in the function FUNCTION_NAME?"
  • "איך היית מתקן את הפונקציה FUNCTION_NAME בהינתן הודעת השגיאה הזו?"
למידה והכשרת עובדים חדשים

כדאי לנסות את ההנחיות הבאות בצ'אט של Gemini Code Assist:

  • ‫"Split this code in parts and explain each of them using our codebase."
  • ‫"Show how to call function FUNCTION_NAME?"
  • ‫"Show how to run the main function in the ENVIRONMENT_NAME environment?"
  • "What is the key technical improvement we can do to make this code more performant?"
  • ‫"Show me the implementation of FUNCTION_OR_CLASS_NAME to achieve better results and add what that specific element is"—for example, "Show me the implementation of function foo where foo is the name of the function."
העברה

כדאי לנסות את ההנחיות הבאות בצ'אט של Gemini Code Assist:

  • ‫"Give me a strategy for how I can migrate FILE_NAME from LANGUAGE_1 to LANGUAGE_2" (תסביר לי איך להעביר את FILE_NAME מ-LANGUAGE_1 ל-LANGUAGE_2) – לדוגמה, מ-Go ל-Python.
  • "בהינתן הפונקציה FUNCTION_NAME במאגר REPOSITORY_NAME, תמצא לי פונקציה מקבילה בשפה LANGUAGE_NAME שאוכל להשתמש בה".

אפשר לנסות את תהליך העבודה הבא של שינוי באמצעות צ'אט או יצירת קוד באמצעות הנחיות:

  1. ‫"Take FILENAME_COMPONENT code already written in LANGUAGE_1 and refactor and migrate it to LANGUAGE_2"—for example, from Go to Python.
  2. אחרי שמבצעים העברה של קוד, אפשר לנסות את הפעולות הבאות:
    • בוחרים חלקים קטנים יותר ומשתמשים ב-/fix כדי להגיע למצב הרצוי.
    • הנחיות לדוגמה:
      • "Is there something which can be improved?"
      • ‫"Give me possible pain points" ‏(תציג לי נקודות כאב אפשריות).
      • "איך היית בודק את הקוד הזה אם המיגרציה הזו נכונה?"
יצירת מסמכים

כדאי לנסות את ההנחיות הבאות בצ'אט של Gemini Code Assist:

  • "Summarize the code in package or folder X and provide documentation for the top five important methods."
  • ‫"Generate documentation for FUNCTION_OR_CLASS_NAME."
  • ‫"Shorten the documentation while preserving the key information."
יצירת בדיקות יחידה

כדאי לנסות את ההנחיות הבאות בצ'אט של Gemini Code Assist:

  • ‫"Generate unit tests for FILENAME."
  • ‫"Add the most relevant test cases for the FUNCTION_NAME function."
  • "כדאי להסיר תרחישי בדיקה שלדעתך לא מניבים ערך רב".

שיטות מומלצות

  • משתמשים בשמות רלוונטיים של משתנים ופונקציות או בקטעי קוד. כך אפשר להתאים אישית את הקוד לפי הדוגמאות הרלוונטיות ביותר.
  • משתמשים במאגרי אינדקס שרוצים להרחיב, ונמנעים מהוספה של פונקציונליות שיצאה משימוש. התאמה אישית של הקוד עוזרת להרחיב את סגנון הקוד, התבניות, הסמנטיקה של הקוד, הידע וההטמעות בכל בסיס הקוד. דוגמאות רעות למאגרי מידע שניתן להרחיב הם פונקציות שיצאו משימוש, קוד שנוצר והטמעות מדור קודם.
  • בתרחישי שימוש שבהם נדרש אחזור קוד, צריך להשתמש בפונקציונליות של יצירת קוד במקום בהשלמת קוד. הנחיה באמצעות שפה כמו "בהתבסס על ההגדרה של FUNCTION_NAME, תייצר את אותה פונקציה בדיוק" או "תייצר את היישום המדויק של FUNCTION_NAME".
  • כדי לשפר את ההבנה ההקשרית של Gemini, צריך לוודא שהקובץ מכיל הצהרות include או import עבור הקוד שרוצים לאחזר.
  • אפשר לבצע רק פעולה אחת לכל הנחיה. לדוגמה, אם רוצים לאחזר קוד וליישם אותו בפונקציה חדשה, צריך לבצע את השלבים הבאים בשתי הנחיות.
  • בתרחישי שימוש שבהם אתם רוצים לקבל יותר מקוד (למשל הסבר על קוד, תוכנית העברה או הסבר על שגיאה), אתם יכולים להשתמש בהתאמה אישית של קוד לצ'אט, שבה אתם מנהלים שיחה עם Gemini עם בסיס הקוד שלכם בהקשר.
  • חשוב לזכור שיצירת מודלים של AI היא לא דטרמיניסטית. אם אתם לא מרוצים מהתשובה, יכול להיות שתקבלו תוצאה טובה יותר אם תריצו שוב את אותה ההנחיה.
  • הערה: בדרך כלל, יצירת בדיקות יחידה עובדת טוב יותר אם פותחים את הקובץ באופן מקומי, ואז מבקשים בצ'אט ליצור בדיקות יחידה לקובץ הזה או לפונקציה ספציפית.

קבלת הצעות רלוונטיות יותר עם הקשר של מאגר מרוחק

כדי לקבל הצעות קוד רלוונטיות יותר שמביאות בחשבון את ההקשר, אתם יכולים להנחות את Gemini Code Assist להתמקד במאגרי קוד מרוחקים ספציפיים. באמצעות הסמל @ בצ'אט, אתם יכולים לבחור מאגר אחד או יותר שישמשו כמקור ראשי להקשר של ההנחיות. האפשרות הזו שימושית כשעובדים על משימה שקשורה בעיקר לקבוצה ספציפית של מיקרו-שירותים, ספריות או מודולים.

כדי להשתמש במאגר מרוחק כהקשר, פועלים לפי השלבים הבאים בצ'אט של סביבת הפיתוח המשולבת:

  1. מתחילים את ההנחיה עם הסמל @. תופיע רשימה של מאגרי מידע מרוחקים זמינים שעברו אינדוקס.
  2. בוחרים מהרשימה את המאגר שרוצים להשתמש בו להוספת הקשר. אפשר גם להתחיל להקליד את שם המאגר כדי לסנן את הרשימה.
  3. אחרי שבוחרים את המאגר, כותבים את שאר ההנחיה.

‫Gemini ייתן עדיפות למאגר שנבחר כשהוא ייצור תשובה.

הנחיות לדוגמה

ריכזנו כאן כמה דוגמאות לשימוש בתכונה הזו:

  • כדי להבין מאגר:
    • ‫"@REPOSITORY_NAME What is the overall structure of this repository?"
    • ‫"@REPOSITORY_NAME אני חבר/ה חדש/ה בצוות. אפשר לקבל סקירה כללית על המטרה של המאגר הזה ועל המודולים העיקריים שלו?"
  • לגבי יצירה ושינוי של קוד:
    • ‫"@REPOSITORY_NAME הטמע פונקציית אימות שדומה לזו שמאוחסנת במאגר הזה".
    • ‫"@REPOSITORY_NAME Refactor the following code to follow the conventions in the selected repository."
    • ‫"@REPOSITORY_A_NAME איך אפשר להשתמש בפונקציות העדכניות ממאגר המידע הזה כדי לשפר את הקוד שלי ב-REPOSITORY_B_NAME?"
  • לצורך בדיקה:
    • ‫"@UNIT_TEST_FILE_NAME צור בדיקות יחידה ל-MODULE על סמך הדוגמאות בקובץ שנבחר".

שימוש במאגרי מידע מרוחקים כמקור ממוקד של הקשר יכול לעזור לכם לקבל הצעות מדויקות ורלוונטיות יותר מ-Gemini Code Assist, וכך לכתוב קוד מהר יותר וביעילות רבה יותר.