תוכנית תוכנית היא קבוצה מסודרת של משימות המחולקות לשלבים. אתם מאשרים אותה לפני כתיבת הקוד.
השתמשו בה כאשר העבודה דורשת מספר שינויים בסדר מסוים, או כאשר ברצונכם לראות את כל הגישה לפני התחייבות לחלק מהעבודה.
מחזור החיים
תכנון הוא שלב בפני עצמו, ולא המרה מיידית.
- התכנון מתחיל. לאחר שהבקשה עוברת את שלב האיכות, הארכיטקט בוחן את קוד המקור ומכין שלבים ומשימות. התכנון מתחיל מעצמו אלא אם הבקשה כללה קבצים מצורפים או השתמשה בתהליך SDLC; במקרים אלו הוא מתחיל כשאתם יוצרים את התוכנית או מסיימים את ההכנה.
- אתם בוחנים את הטיוטה. זה נקודת ההתערבות הזולה ביותר בכל המערכת.
- לאשר, לתקן או לאפס. אישור משחרר את התוכנית לביצוע; תיקון שולח אותה בחזרה עם המשוב שלכם; איפוס מתחיל את התכנון מחדש.
- ביצוע. המשימות מתבצעות בסדר, תוך שמירה על גבולות השלבים.
אתם יכולים לאשר ולבצע בשלב אחד, או לאשר ולהתחיל את הביצוע מאוחר יותר.
תכנון
האדריכל חוקר את קוד המקור ומתוווה שלבים ומשימות.
אדריכל
סקירת טיוטה
קראו על השלבים, המשימות והגישה.
אתם מחליטיםביצוע
המשימות מתבצעות בסדר, תוך שמירה על גבולות השלבים.
אישור
משחרר את התוכנית לביצוע מיידי או מאוחר יותר.
תיקון
שולח אותה בחזרה עם המשוב שלכם. שומר על מה שנלמד.
איפוס
מתחיל את התכנון מחדש. להשתמש כאשר כל הגישה שגויה.
עדיף לתקן ולא לאפס
כאשר התוכנית כמעט נכונה, תיקון שלה שומר את מה שהארכיטקט למד על קוד המקור שלכם ומיישם את המשוב שלכם. איפוס זורק את כל זה ומתחיל מחדש.
אפסו את התוכנית כאשר כל הגישה שגויה. תקנו אותה כאשר הגישה נכונה אך הפרטים אינם. תיקון זול הרבה יותר, ותוכן של תוכנית נדחית אינו נעלם – הוא משמש כקלט לניסיון הבא.
שליטה בתוכנית בתהליך ריצה
ניתן לעצור, להמשיך או לבטל תוכנית בתהליך ריצה, וניתן לצפות בהתקדמות שלה בשלבים השונים. ניתן גם לשכפל תוכניות – דרך מעשית לחזור על מבנה שעבד – למשל, מעבר של תהליך לשרות שני.
ניתן לארכב תוכניות שהושלמו כדי לשמור על תצוגה פעילה רלוונטית.
- 01Audit1/1
- 02Foundations2/2
- 03Fixes3/3
- 04E2E harness and the keyboard criterion1/1
- 05Lock in the remaining criteria4/4
- בניינים וחזיתות המשתנים לפי תקופה
- חזיתות חנויות ופרסומות לפי תקופה
- צי רכב ותנועה לפי עשור
- קהלי הולכי רגל בבגדי תקופה
- 06הרכבה ושינוי תקופתי1/1
- אימות סופי1/1
צור סצנת תלת-ממד של רחוב עירוני. הדגש על הפרטים הוא קריטי.
על הסצנה לכלול סרגל זמן בחלק העליון עם האפשרויות 1945, 1965, 1985, 2005 ו-2025.
בחירת שנה משנה את המראה של הרחוב מול עיניך: בניינים, רכבים, חזיתות חנויות, פרסומות ובגדי הולכי הרגל.
- טוקנים
- 230.6M / 96M
- עלות
- 14.42 $
- פליטת CO2e משוערת
- 6.7 קג
- משך זמן
- 23 שעות 18 דקות
תוכנית במפעל: שלבים ומשימות בצד שמאל, סכומי התוכנית וה־pull request היחיד שלה בצד ימין. נתונים מפעולה אמיתית.
pull request אחד, לא אחד לכל משימה
משימות של תוכנית אינן פותחות pull request נפרד; הן עובדות על ענפים משלהן ומתמזגות לתוך ענף ענף נתיב; ענף זה מועלה כ־pull request יחיד מול ענף הבסיס שלכם כאשר העבודה עומדת בתנאים.
ענף מסלול
המקום שבו העבודה של התוכנית מתאחדת
בקשת משיכה אחת של pull request
התכונה המשולבת, שנבדקה פעם אחת
main
ענף הבסיס שלך
משימה עבור פרויקט שונה מהמסלול – היא מועלית באופן עצמאי, ולכן תוכנית בין-פרויקטיאלית פותחת בקשת משיכה אחת של pull request לכל מאגר קוד.
לכן אתם בוחנים את התכונה המורכבת פעם אחת, כשכל השינוי גלוי, במקום לאשר שלבים חלקיים בזה אחר זה.
תוכניות בין־פרויקטיות הן יוצאות דופן: משימה השייכת לפרויקט שונה מהנתיב מועלית בנפרד, כך שתקבלו pull request אחד לכל מאגר. pull request אינו יכול לחצות שני מאגרים.
כאשר ענף הבסיס משתנה
תוכנית יכולה לרוץ שעות רבות, ובזמן הזה הצוות שלכם ממשיך למזג שינויים לענף הבסיס. התוכנית נבנתה, נבדקה ונבחנה מול ענף הבסיס כפי שהיה בזמן תחילתה. עד שרכיב pull request שלה יהיה מוכן, ייתכן שזה כבר לא הענף שאליו הוא יתמזג.
כאשר תוכנית מתחילה לרוץ, רכיב Coroid רושם את ההתחייבות האחרונה של ענף הבסיס כקו הבסיס של התוכנית קו בסיס. לפני שרכיב pull request של התוכנית יוכל למזג, רכיב Coroid בודק שוב את ענף הבסיס. כל שינוי בתוכן הקבצים נלקח בחשבון, כולל קבצים שהתוכנית מעולם לא נגעה בהם. תוכנית אימות חדשה או כלל אבטחה יכולים להפוך קוד תקין ללא תקין מבלי לגרום לסכסוך מיזוג, ולכן רכיב Coroid אינו מחכה לכך.
אם ענף הבסיס השתנה, לאשר ולמזג נשאר מנוטרל והסקירה של הקידום מציגה את ההתחייבויות החדשות ואת הקבצים שהשתנו. אתם בוחרים מה יקרה:
- לקבל את הגרסה החדשה של ענף הבסיס (הנקרא על שם ענף הבסיס שלכם) – השינויים אינם משפיעים על עבודה זו. רכיב Coroid רושם מי קיבל איזו התחייבות ומדוע, וההתחייבות הזו הופכת לקו הבסיס החדש. אם הענף השתנה שוב בזמן הקריאה, רכיב Coroid ידחה את הבקשה ויציג קודם את ההתחייבויות החדשות יותר. שום דבר אינו נקבל ללא צפייה בו.
- למזג ולבצע אימות מחדש – רכיב Coroid ממזג את ענף הבסיס לתוך ענף הנתיב, תוך פתרון סכסוכים אם קיימים. לאחר מכן הוא מעביר את הנתיב דרך המפתח, בדיקת איכות וסקירה שוב, תוך בדיקה מול קריטריוני הקבלה של התוכנית וההתחייבויות מהענף הראשי. האישור נשמר עד לסיום התהליך. רק אז ההתחייבות החדשה הופכת לקו הבסיס. אם המיזוג או האימות מחדש נכשלים, ההחלטה חוזרת אליכם.
השהיה היא ברירת המחדל. פרויקט יכול לבחור במקום זאת באפשרות מזג ובצע אימות מחדש, כך שרכיב Coroid יתחיל את התהליך ללא המתנה לכם; ראו הגדרות מאגר וענף. האימות החוזר מנצל שעות סוכן.
תוכנית שנטענה מחדש מתחילה מרישום בסיס חדש, ולכן היא פועלת מול ענף הבסיס כפי שהוא נראה באותו רגע. הראיות מהניסיון הקודם נשמרות בהיסטוריה אך אינן קובעות את הניסיון החדש כנוכחי.
מיזוג בכוח מדלג גם על בדיקה זו, ורושם את הסיבה הכתובה שדרשה זאת. עיין ב ביצוע מיזוג.
שלבים ומקבילות
שלבים קובעים סדר, לא מקבילות. ניתן להריץ משימות בתוך שלב אחד במקביל אם יש יכולת; השלב הבא ממתין לשלב הנוכחי.
תוכנית עם עשר משימות המתאפשרות במקביל וערוץ סוכן אחד עדיין תריץ אותן אחת אחרי השנייה. המבנה אינו יוצר יכולת – ראו יכולת וערוצי סוכנים.
- בתהליך, שלב 1
- ממתין למקום פנוי
- בתהליך, שלב 2
תוכנית או משימה?
בטופס עבודה חדשה, בחרו תוכנית או משימה תחת יצירה כ, או השאירו אותו על אוטומטי ותנו לשלב האיכות לקבוע. עבודה המתפרסת על יותר מפרויקט אחד תהפוך תמיד לתוכנית. אם תבחרו נתיב ואיכות ימליץ על אחר, תראו את ההמלצה לפני יצירת כל דבר.
המבחן הוא ניתנת לבחינה: pull request שעמית יכול לקרוא בשיעור אחד היא משימה; כל דבר הדורש מספר שינויים מסודרים הוא תוכנית.
לנחש שמדובר במשימה בעבודה גדולה באמת הוא טעות מסוכנת יותר – המשימה עלולה להיגמר באמצע, ולבזבז את הריצה. לנחש שמדובר בתוכנית עולה לכם שלב אישור שלא היה הכרחי.
שערי אספקה
תוכנית יכולה לכלול שער אספקה הקובע מה חייב להתקיים לפני שהתוצאה שלה תתקדם. ראו שערי איכות.