תיעוד

בדיקות אנטי-סלופ

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

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

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

מה שהיא מחפשת

הכללים מחולקים למשפחות. כל כלל או חוסם, ממליץ או רושם מידע.

  • בדיקות — בדיקות ממוקדות או שמדלגים עליהן, בדיקות שנמחקו, אימותים שהוסרו או הוחלשו, בדיקות שאינן יכולות להיכשל.
  • דיכויים — כיבוי lint חדש, התעלמויות מסוג ו any המרות.
  • בנייה ו-CI — שלבי בדיקה שנמחקו או נוטרלו, סף שנמוך יותר, "הצלחה ללא בדיקות".
  • ראיות בדיקה — תוצאות מטמונות שמוצגות כריצה, אפס בדיקות שבוצעו, ריצה חלקית שמדווחת כהשלמה.
  • קוד ייצור — שאריות דיבוג, תחליפים, נתוני דמה, הערות לאנשים, קוד בדיקה שנשלח לייצור.
  • טיפול בשגיאות — שגיאות שנבלעו, פתרונות חלופיים שמסתירים כישלונות, בדיקות הרשאה שמאפשרות גישה ללא הגבלה.
  • הערות, ארכיטקטורה, תלויות, היקף שינוי, אבטחה, אחסון מטמונים וה עקב הסוכן — רישום של מה שהסוכן עשה, כמו עריכת בדיקה מיד לאחר שנכשלה.

דף כל כלל ב איכות → בדיקות → אנטי-סלופ מציג את מה שהוא תואם ואת החשיבות שלו.

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

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

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

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

הועלו

  • שער מייעץ
  • סוכן הבודק
  • סורק מחובר

נתיבו

ניתנים לתיקון

חזרה אל המפתח כעבודה מחדש

כל השאר

מצורף ל־pull request

נפתרו

  • תוקנו

    השינוי מתקן את הבעיה

  • נקבעו כתקינים

    נכון, אין צורך לפעול כאן. נא לציין את הסיבה.

  • דוכאו

    תוצאה חיובית שגויה או כלל שאינו רלוונטי. נא לציין את הסיבה.

תגליות שניתן לתקן מטופלות בתוך הריצה. השאר מגיעות ל־pull request, וכל תגלית מסתיימת בתיקון, בקבלה או בהתעלמות, עם סיבה לשתי האפשרויות האחרונות.

הוספתו למדיניות

פתחו מדיניות ב איכות → מדיניות ובחרו הוספת תצורת אנטי-סלופ. היא מוסיפה חמישה ציפיות:

  1. הבדיקות עדיין מוכיחות את השינוי.
  2. שום דבר לא גמור או רק לצורך בדיקה לא יישלח לייצור.
  3. אין חוב מבני חדש.
  4. השינוי נשאר בהיקף ותואם את סגנון הקוד שלכם.
  5. תלויות חדשות הן אמיתיות ואמינות.

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

בחירת דיסציפלינת שינוי

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

  • כירורגי — רק מה שהמפרט דורש; בעיות אחרות ידווחו אך לא יתוקנו.
  • מאוזן (ברירת מחדל) — גם תיקון בעיות קטנות בשורות שהשינוי נוגע בהן.
  • משקם — גם ניקוי ממצאים בתוך הפונקציות שהשינוי עורך.

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

התאמתו לקוד שלכם

  • התעלמויות מכללים — כיבוי כלל מסוים, או הפיכתו לממליץ במקום חוסם, בהגדרות הבדיקה.
  • חבילות כללים — הדפוסים שלכם, ייבוא ותלויות אסורות, הגבלות גודל קובץ, או תוצאות מכלים שאתם כבר משתמשים בהם (SARIF). החבילות מגובתות; המדיניות קובעת את הגרסה שבה תשתמשו.
  • בידוד — דפוסים שאינכם רוצים שיועתקו יותר, כשלכל אחד מהם יש תחליף לשימוש. הסוכנים מקבלים הוראה לא להפיץ אותם, ועותקים חדשים מסומנים.
  • קובץ מאגר נתונים — .coroid/anti-slop.yml במאגר הנתונים יכול להוסיף כללים ולשלול נתיבים שנוצרו או נרכשו. הוא נקרא מהבסיס של השינוי, כך ששינוי לא יכול להקל על הכללים שלו, ועריכתו דורשת אישור.

ממצאים ופטורים

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

כללי Judge

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

הסוכנים שלכם

אותם כללים יכולים להנחות גם את הסוכנים שאתם מפעילים בעצמכם:

  • הורדת קטע קוד של AGENTS.md, ב- חוב כרטיסייה של איכות → בדיקות → Anti-slop, מספקת את משמעת השינויים של הפרויקט, את הבידוד ואת הכללים העיקריים כקטע שניתן להדביק להוראות של הסוכנים שלכם.
  • באמצעות Coroid MCP server, anti_slop_rules מתאר את המדיניות שפרסמתם ואת anti_slop_scan סורק ענף של פרויקט מתואם, באופן קריאה בלבד.