מוצרי AI חוללו מהפכה בפיתוח תוכנה או קידוד בעת המודרנית. באמצעות AI, אנו יכולים ליצור קודי תכנות באופן אוטומטי ולתקן ולמטב אותם באמצעותם Refactoring של קוד . במאמר זה, אנו חוקרים את תהליך ה-refactoring ונראה כיצד תוכל השתמש ב-Copilot to Refractor Code .
מהו ריפקטור קוד?
בפיתוח תוכנה או יישומים, Code Refactoring מתייחס לשחזור או סידור מחדש של קוד המקור של התוכנית תוך שמירה על הפונקציונליות המקורית שלו. התהליך נועד לשפר את מבנה התוכנה ועיצובה ולהפחית את המורכבות. השילוב של AI ב-Refactoring של קוד עזר לנו לזהות באופן מיידי בעיות בביצועי תוכנה ולהקל על אלגוריתמים מורכבים כדי לשפר את היעילות הכוללת.
כיצד Copilot יכול לעזור בשחזור קודים?
הוא יכול לנתח קטע מסוים בקוד ולספק הצעות לשיפור המבנה שלו לפורמט נקי יותר וידידותי למשתמש כדי להפחית את המורכבות. ההמלצות שניתנו מבוססות על הדברים הבאים:
חלונות 10 בית ליצור חשבון מקומי
- זיהוי בעיות בקוד הקיים: Copilot סורק את כל קובץ הקוד כדי להדגיש את הקטעים או האזורים שיש לבצע מחדש על ידי הצבעה על קודים כפולים, משתנים שאינם בשימוש או לא ברורים וכו'.
- הצע אפשרויות יעילות: בעת עיבוד מחדש של קוד, Copilot מנתח את הקוד הקיים ומציע חלופות יעילות שיכולות להפיק את אותן תוצאות אך לגרום לקוד להיראות נקי יותר. ההמלצות האלה כוללות שימוש יעיל בשפה למתן שמות למשתנים, שיטות ומבני נתונים.
- ודא שקוד ניתן לתחזוקה: משוב בזמן אמת עוזר לנו להימנע מהכללת באגים כלשהם. ההצעות בדרך כלל מבוססות על שיטות עבודה מומלצות של עקרונות תכנות שיכולים לעזור לשמור על מבנה קוד תקין, מה שמקל על אחרים להבין ולשנות אותו במידת הצורך.
כיצד להשתמש ב-Copilot to Refractor Code
כדי להשתמש ב-Copilot ל-refactoring, אנחנו יכולים להתחיל ב התקנת GitHub Copilot הרחבה עבור השפה הרלוונטית (קוד VS, Python וכו'). לדוגמה, אם ברצוננו לשחזר קוד מקור שנכתב ב-Python, נוכל להתקין את התוסף Copilot על ידי:
- לחץ כדי לפתוח את אפשרות ההגדרות בסביבת הפיתוח המשולבת או ב-IDE (JavaScript או Python).
- לחץ על אפשרות הפלאגין בצד שמאל.
- הקלק על ה זירת מסחר אפשרות וחפש את ה GitHub Copilot חיבור.
- לאחר איתור, לחץ על להתקין כדי להתקין את הפלאגין.
- ה-IDE יבקש הפעלה מחדש לאחר השלמת ההתקנה. לאחר הפעלה מחדש, פתח את ה-IDE ולחץ על כלים -> GitHub Copilot -> כניסה ל-GitHub.
- לאחר כניסה מוצלחת, Copilot יהיה מוכן לשימוש.
- כדי להשתמש ב-Copilot, ניתן להשתמש בקיצורי הדרך שלהלן בזמן כתיבת הקוד
פעולה | חלונות/לינוקס | MacOS |
הפעל הצעות מוטבעות | Alt+\ | אפשרות+\ |
ראה את ההצעה הבאה | Alt+] | אפשרות+] |
ראה את ההצעה הקודמת | Alt+[ | אפשרות+[ |
קבל הצעה | כרטיסייה | כרטיסייה |
דחה הצעה מוטבעת | יציאה | יציאה |
הצג את כל ההצעות בכרטיסייה חדשה | Alt+Enter | Alt+Enter |
קָשׁוּר: כיצד להציג קוד שהורד מ-GitHub
המכשיר דורש התקנה נוספת
דוגמה 1: כדי לפשט קוד מורכב
הבה נבחן את קטע הקוד שלהלן כדי להדגים כיצד ניתן לפשט קוד מורכב באמצעות תכונת Refactoring של Copilot. כאן, אנו שוקלים רק חלק מתוכנית גדולה יותר כדי להקל על ההבנה:
לפני השחזור
public void processOrder(Order order) { // ... further codes if (order.isReadyForProcessing()) { // process the order } //... further codes }
לאחר Refactoring עם Copilot
באיזו תדירות המערכת יוצרת נקודות שחזור באופן אוטומטי
public void processOrder(Order order) { // ...further codes processReadyOrder(order); // ...further codes }
private void processReadyOrder(Order order) { if (order.isReadyForProcessing()) { // process the order } }
בדוגמה לעיל, קבוצת הקודים הראשונה (לפני Refactoring) מורכבת מפונקציה או מתודה בשם processOrder, אשר מבצעת את השלבים לעיבוד הזמנה מסוימת. לפני עיבוד ההזמנה, הצהרת ה-IF המותנית בודקת אם ההזמנה מוכנה לעיבוד או שאינה משתמשת ב- if (order.isReadyForProcessing()) פוּנקצִיָה. בקבוצת קודים זו, לוגיקה העיבוד כלולה בתוך הפונקציה הראשית, מה שהופך אותה לפחות מודולרית.
בקטע הקוד הבא, יש לנו את processOrder פונקציה לעיבוד ההזמנה. עם זאת, ההיגיון של בדיקה אם ההזמנה מוכנה לעיבוד ועיבוד ההזמנה המוכנה הועבר לפונקציה נפרדת בשם processReadyOrder. זה עוזר לבודד כל שיטה כדי לספק בהירות ומודולריות לקוד.
0xc1900101
דוגמה 2: שינוי שם משתנה
לפני השחזור
def calculate_area(l, w): return l * w
לאחר Refactoring עם Copilot
def calculate_area(length, width): return length * width
עם זאת, לאחר הפקטוריון, המשתנים 'l' ו-'w' הוחלפו באורך ורוחב, מה שהוסיף לבהירות הקוד באמצעות שינוי שם המשתנים כמאפיין חיוני של ריפקטור.
למרות ש-Copilot יכול לעזור לנו לשחזר את הקוד, יש לו כמה מגבלות, כגון הצעות שגויות, הסתמכות יתרה ושבירת קודים מיושנים. ברגע שיש לך את ההצעות שלה, ודא שאתה עובר את כל הבדיקות הידניות ו השתמש בהנחיות הנכונות.
על אילו נתונים הוכשר GitHub Copilot?
GitHub Copilot עבר הכשרה על טקסט בשפה טבעית וקוד מקור ממקורות זמינים לציבור, כולל קוד במאגרים ציבוריים ב-GitHub. הוא מופעל על ידי דגמי AI גנרטיביים שפיתחו GitHub, OpenAI ו-Microsoft.
מהן שפות התכנות התואמות עבור Copilot?
Github Copilot תומך בשפות שונות אך עובד טוב במיוחד עם JavaScript, TypeScript, Ruby, Python, Go, C++ ו-C#.