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

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

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

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

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

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

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

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

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

כמה נקודות שכדאי לזכור:

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

למידע נוסף, קראו את המאמר צ'אט עם Gemini Code Assist.

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

כמה נקודות שכדאי לזכור:

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

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

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

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

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

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

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

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

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

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

  • "כדאי לנסות את הפקודה /fix כדי לשנות את הקוד שנוצר – לדוגמה, שגיאות תחביר."
  • "Add missing imports".
  • "אפשר לנסות את /fix בקוד שנוצר בצ'אט".
ניקוי, פישוט ושינוי מבנה הקוד

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

  • "האם יש לך אפשרות למזג את IMPORTS_VARIABLES_OR_NOTE_EXPORTED_FUNCTIONS בקובץ הזה?"
  • "How would you simplify the FUNCTION_NAME function?"
  • "האם אפשר למזג את FUNCTION_NAME_1 ו-FUNCTION_NAME_2 לפונקציה אחת?"
  • "אפשר להוסיף משתנים מסוימים בקוד של FUNCTION_NAME?"
  • "אפשר לפשט את שמות המשתנים בפונקציה FUNCTION_NAME?"
ציון קריאוּת

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

  • "כדאי לכתוב את הפונקציה FUNCTION_NAME בפחות שורות קוד, אם אפשר."
  • "Add comments to the function FUNCTION_NAME."
  • "Remove unnecessary whitespaces in the function FUNCTION_NAME".
  • "צריך לעצב את הפונקציה FUNCTION_NAME באופן דומה לשאר הקוד".
בדיקת קוד

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

  • "פיצול הקוד לחלקים והסבר על כל חלק באמצעות קוד הבסיס שלנו".
  • "האם יש משתנים או מילות מפתח שאפשר לקצר ולהסביר בצורה ברורה יותר?"
  • "Can you give me useful code from the REPOSITORY_NAME_PACKAGE_MODULE context for this code?"
  • "What do you think about the function FUNCTION_NAME?"
ניפוי באגים

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

  • "מוצגת לי הודעת שגיאה כשאני מנסה לבצע פעולה X/להוסיף Y. למה?"
  • "האם שמת לב לשגיאה בפונקציה FUNCTION_NAME?"
  • "איך מתקנים את הפונקציה FUNCTION_NAME בהתאם להודעת השגיאה הזו?"
למידה והכשרת עובדים חדשים

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

  • "פיצול הקוד הזה לחלקים והסבר על כל אחד מהם באמצעות קוד הבסיס שלנו".
  • "Show how to call function FUNCTION_NAME?"
  • "Show how to run the main function in the ENVIRONMENT_NAME environment?"
  • "מהו השיפור הטכני העיקרי שאפשר לבצע כדי לשפר את הביצועים של הקוד הזה?"
  • "Show me the implementation of FUNCTION_OR_CLASS_NAME to achieve better results and add what that specific element is" – לדוגמה, "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" – לדוגמה, מ-Go ל- Python.
  • "Given the function FUNCTION_NAME in repository REPOSITORY_NAME, find me an equivalent function in language LANGUAGE_NAME that I can use."

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

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

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

  • "צריך לסכם את הקוד בחבילה או בתיקייה X ולספק תיעוד לחמש השיטות החשובות ביותר".
  • "יצירת מסמכי עזרה עבור FUNCTION_OR_CLASS_NAME".
  • "קיצור המסמכים תוך שמירה על המידע החשוב".
יצירת בדיקות יחידה

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

  • "יצירת בדיקות יחידה עבור FILENAME".
  • "מוסיפים את המקרים הרלוונטיים ביותר לבדיקה של הפונקציה FUNCTION_NAME".
  • "הסרה של תרחישי בדיקה שלדעתכם לא תורמים הרבה ערך".

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

  • משתמשים בשמות רלוונטיים של משתנים ופונקציות או בקטעי קוד. כך תוכלו להתאים אישית את הקוד ולמצוא את דוגמאות הקוד הרלוונטיות ביותר.
  • משתמשים במאגרי אינדקסים שרוצים להתאים לעומס, ומחמיצים להוסיף פונקציונליות שהוצאה משימוש. התאמה אישית של קוד עוזרת להתאים את סגנון הקוד, התבניות, הסמנטיקה, הידע וההטמעות בקוד בסביבת ה-code base. דוגמאות לא טובות למאגרים להרחבה הן פונקציונליות שהוצאה משימוש, קוד שנוצר והטמעות מדור קודם.
  • בתרחישי לדוגמה של אחזור קוד, כדאי להשתמש בפונקציה של יצירת קוד במקום בהשלמת קוד. אפשר להשתמש בנוסח כמו "Using the definition of FUNCTION_NAME, generate the exact same function" (על סמך ההגדרה של FUNCTION_NAME, יוצרים את אותה פונקציה בדיוק) או "Generate the exact implementation of FUNCTION_NAME" (יוצרים את ההטמעה המדויקת של FUNCTION_NAME).
  • מומלץ לכלול או לייבא את הקוד שרוצים לאחזר בקובץ כדי לשפר את המודעוּת להקשר של Gemini.
  • מבצעים רק פעולה אחת לכל הנחיה. לדוגמה, אם רוצים לאחזר קוד ולהטמיע אותו בפונקציה חדשה, צריך לבצע את השלבים הבאים בשתי הנחיות.
  • בתרחישי שימוש שבהם אתם רוצים יותר מקוד (כמו הסבר על קוד, תוכנית העברה או הסבר על שגיאה), תוכלו להשתמש בהתאמה אישית של קוד בצ'אט, שבו תוכלו לנהל שיחה עם Gemini עם הקוד שלכם בהקשר.
  • לתשומת ליבכם: יצירת מודל AI היא לא דטרמיניסטית. אם התשובה לא עומדת בציפיות, כדאי להריץ שוב את אותה הנחיה כדי לקבל תוצאה טובה יותר.
  • הערה: יצירת בדיקות יחידה בדרך כלל פועלת טוב יותר אם פותחים את הקובץ באופן מקומי, ואז מבקשים בצ'אט ליצור בדיקות יחידה לקובץ הזה או לפונקציה ספציפית.