להבין את השינוי לפני קריאת כל שורה
סקירת קוד מתחילה בבעיה ובהתנהגות הרצויה. בקשו תיאור קצר: מה היה קודם, מה השתנה ואיך נבדק. כאשר כלי AI יצר הרבה קוד, התיאור עוזר לזהות האם ההיקף מתאים לבקשה או שהתוצר כולל החלטות שלא התבקשו.
קוד שנראה עקבי יכול עדיין לממש הנחה שגויה. למשל, שינוי בטופס אינו מצדיק הרחבת הרשאה בשרת. עברו על ההקשר ועל החוזים בין רכיבים לפני שאתם מסתפקים בשמות משתנים ובעיצוב הקוד. אם קשה להסביר את השינוי, כדאי לצמצם אותו.
לחפש את המקומות שבהם מידע הופך לסמכות
בדקו קלט מהמשתמש, גישה לקבצים, שאילתות, יצירת HTML וחיבור לשירותים חיצוניים. בכל מעבר שאלו איזה מידע נחשב מהימן והיכן נאכפת הרשאה. אימות בממשק יכול לשפר שימושיות, אך אינו מחליף אימות בשרת.
בדוגמה להמחשה, בקשת עריכה מכילה מזהה רשומה. צריך לבדוק שהמשתמש רשאי לערוך את הרשומה, ולא רק שהמזהה תקין. תוצאה חיובית של בדיקה על משתמש אחד אינה מכסה ניסיון גישה למידע של משתמש אחר.
לבדוק מה הבדיקות מוכיחות
בדיקות שנוצרו יחד עם המימוש עלולות לשקף בדיוק את אותן הנחות. בחרו התנהגות חשובה, שנו את התנאים וראו אם הבדיקה תזהה כשל. הוסיפו בקשה כפולה, קלט חסר, שירות שמתעכב או הרשאה שגויה לפי הסיכון של השינוי.
אל תמדדו איכות סקירה רק בכמות בדיקות או בשורות כיסוי. שאלו איזו תקלה משמעותית תישאר בלתי נראית. בדיקת חוזה או תרחיש אינטגרציה קצר יכולים לתת מידע ששורה נוספת של assertion על טקסט קבוע אינה מספקת.
לבחון תלויות ושינויים תפעוליים
אם השינוי מוסיף ספרייה, בדקו מדוע היא נחוצה, מה היא מכניסה לתוצר ואיך מתחזקים אותה. הסתכלו גם על lockfile, תצורה ופקודות בנייה. לעיתים ההשפעה המרכזית נמצאת מחוץ לקובץ שהסוכן תיאר בהודעת הסיכום.
GitHub מציינת בתיעוד השימוש האחראי שסוכני AI יכולים לייצר הצעות שדורשות סקירה ואימות. כלי סקירה נוסף יכול לעזור למצוא ממצאים, אבל הוא אינו הופך את הצעה לאישור. האחריות לשחרור נשארת בתהליך שהצוות הגדיר.
להחליט עם ראיות ברורות
לפני Merge, עברו על diff סופי ותוצאות הבדיקות המתאימות. ודאו שניתן להסביר את הנתיב המרכזי ואת מצבי הכשל. כשיש מגבלה או סיכון שלא נפתרו, תעדו אותם באופן שקורא אחר יכול להבין.
- השינוי קשור לבעיה מוגדרת וההיקף שלו מוסבר.
- הרשאות וקלט מאומתים במקומות שבהם מתבצעת הפעולה.
- הבדיקות מכסות התנהגות משמעותית ומצב כשל.
- תלויות ותצורה חדשות קיבלו בחינה.
- יש דרך לבדוק את התוצאה אחרי פריסה ולזהות תקלה.