תיעוד

תוכניות

אספקה בשלבים לעבודה הגדולה מ־pull request אחד, עם שלב אישור לפני שמתחילים לבנות.

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

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

מחזור החיים

תכנון הוא שלב בפני עצמו, ולא המרה מיידית.

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

אתם יכולים לאשר ולבצע בשלב אחד, או לאשר ולהתחיל מאוחר יותר.

עדיף לתקן ולא לאפס.

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

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

שליטה בתוכנית בתהליך ביצוע

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

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

pull request אחד, ולא אחד לכל משימה

המשימות של תוכנית אינן פותחות pull request נפרד; הן עובדות על ענפים משלהן ומתמזגות לתוך ענף משותף ענף נתיב; ענף זה מועלה כ־pull request יחיד מול ענף הבסיס שלכם כאשר העבודה עומדת בדרישות.

task branch ─┐
task branch ─┼─► lane branch ─► one pull request ─► main
task branch ─┘

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

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

שלבים ומקביליות

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

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

תוכנית או משימה?

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

המבחן הוא ניתנת לביקורת: pull request שעמית יכול לקרוא בשיעור אחד היא משימה; כל דבר הדורש מספר שינויים מסודרים הוא תוכנית.

להעריך בטעות שמדובר במשימה בעבודה גדולה באמת הוא טעות מסוכנת יותר – המשימה עלולה להיגמר באמצע, ולבזבז את התהליך. להעריך שמדובר בתוכנית עולה לכם בשלב אישור שלא היה נחוץ באמת.

שערי אספקה

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