תרגול תצורה ומדיניות¶
תרגיל ראשון - נתון לא תקין¶
בדקו את הצופה עם ערכים 1, 64, 0 ו65, עם מחיקת הערך ועם החלפתו לREG_SZ שמכיל את התווים 7. שמרו את המפתח עצמו כדי לא לערבב מחיקת מפתח עם שינוי ערך. לכל מקרה ציינו האם נדחה על ידי הAPI או על ידי חוקי המוצר.
החזירו בסוף ערך תקין. אל תסתפקו בקוד יציאה אפס: בדקו את הערך הפעיל שהודפס אחרי כל שינוי.
תרגיל שני - שני שדות¶
תכננו schema עם מינימום ומקסימום workers. הדגימו תזמון שבו שתי קריאות נפרדות מקבלות זוג שלא נכתב מעולם. הציעו פרסום של גרסה immutable, כולל שמות מפתחות, שדה גרסה פעילה וכלל לניקוי גרסאות ישנות.
הסבירו מה יקרה אם הכותב קרס אחרי כתיבת מחצית מהגרסה החדשה ולפני פרסום. בדקו גם כשל אחרי הפרסום ולפני הסרת הגרסה הישנה.
תרגיל שלישי - מקור החלטה¶
כתבו פונקציה טהורה שמקבלת ערך משתמש אופציונלי ומגבלת מדיניות אופציונלית, ומחזירה ערך אפקטיבי ומקור החלטה. ברירת המחדל היא שני workers והטווח החוקי הוא 1 עד 64. ערך לא חוקי צריך ליצור שגיאה, לא להפוך אוטומטית לאפס.
הגדירו האם המדיניות מחליפה את ההעדפה או רק מציבה תקרה. בחרו בתקרה בתרגיל הזה, והראו בדיקות לכל צירוף של קיום והיעדר הערכים.