כיצד לזווג תוכנית?

קרא את הקוד שהנהג כותב בזמן שהוא כותב אותו
כשאתה צופה, קרא את הקוד שהנהג כותב בזמן שהוא כותב אותו.

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


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

צעדים

  1. 1
    התחל במשימה מוגדרת היטב לפני שאתה מתיישב. המשימה צריכה להיות משהו שאתה בטוח שתוכל לבצע תוך שעה-שעתיים. לדוגמא, "הוסף 'היסטוריית תחזוקה' לקוד מסד הנתונים הנע." יתכן שתועיל לתאר מה אתה מתכנן לעשות לפני שתתחיל לקודד.
  2. 2
    הסכים עם מטרה זעירה אחת בכל פעם: משהו שתוכל להשלים תוך מספר דקות. אמירת הבעיה במילים לאדם אחר עוזרת למקד את דעתך ועוזרת לעסוק במוחו של בן / בת הזוג. זה גם מבטיח ששניכם יודעים על מה אתם עובדים כרגע.
    מה דעתך לטפל בתיק שבו עוברים לנו מצביע אפס עכשיו? "
    מה דעתך לטפל בתיק שבו עוברים לנו מצביע אפס עכשיו? "
  3. 3
    סמכו על בן / בת הזוג שלכם, תמכו בבן / בת הזוג שלכם.
    • כשאתה הנהג, השלם את המטרה הזעירה הנוכחית במהירות האפשרית, והתעלם מבעיות גדולות יותר. סמכו על המתבונן שיהיה רשת הביטחון שלכם.
    • כשאתה צופה, קרא את הקוד שהנהג כותב בזמן שהוא כותב אותו. התפקיד שלך הוא סקירת קוד. עליכם לשים לב באופן מוחלט, במטרה לאפשר לשום דבר להסתדר בכם. חשוב על באגים אפשריים, בעיות גדולות יותר ודרכים לפשט או לשפר את העיצוב. העלה שגיאות וקוד שנראה לך בלתי קריא מיד. המתן עד שהמטרה הזעירה הנוכחית תושלם להעלות נושאים ורעיונות גדולים יותר לשיפור העיצוב. רשמו את המשימות המאוחרות יותר כדי שהנהג יוכל להישאר ממוקד במשימה הזעירה הנוכחית. לדוגמא, אם אתה רואה שהקוד הנוכחי אינו מצליח להסביר קלט null, כתוב על פיסת נייר "הוסף בדיקת יחידה להזנת null".
    • כשאתה צופה, אל תכתיב את הקוד. הנהג צריך לחשוב באופן פעיל כיצד להשיג את המשימה הנוכחית, ולא רק להקליד באופן פסיבי. וכמשקיף עליכם לנצל את העובדה שאינכם צריכים להמציא את הפרטים הקטנים; אתה יכול וצריך לחשוב ברמה גבוהה יותר. אומר "זה נראה בסדר. מה דעתך לטפל בתיק שבו עוברים לנו מצביע אפס עכשיו?" עדיף על "בסדר, עכשיו הקלד 'אם (s == NULL) {החזר...'"
  4. 4
    מדבר הרבה! אמור מה אתה עומד לעשות, בקש רעיון ליישום, בקש דרך טובה יותר לפתור את הבעיה בהישג יד, העלה רעיונות אלטרנטיביים, ציין תשומות אפשריות שהקוד אינו מכסה, הציע שמות ברורים יותר למשתנים ותת-דרכים, הציעו דרכים להטמעת הקוד בצעדים קטנים יותר, ספרו לנהג את מעט הידע של API שהם זקוקים לו בדיוק ברגע בו הם זקוקים לו וכו '. הקשיבו גם הרבה, כמובן. כשאנשים מזדווגים היטב, הם מדברים הלוך ושוב כמעט ללא הפסקה. להלן מספר דברים נפוצים שאפשר לומר בזמן ההתאמה:
    • "אתה חושב שזו בדיקה תקפה?"
    • "זה נראה לך נכון?"
    • "מה הלאה?"
    • "תאמין לי" (כשקל יותר לכתוב קוד קטן כדי להביע את דעתי מאשר לומר זאת בקול רם)
  5. 5
    סנכרן לעתים קרובות. בזמן שאתה עובד יחד, תמצא את עצמך יוצא מהסנכרון: הופך לא בטוח מה השותף שלך עושה, או הופך לא ברור לגבי המשימה הנוכחית. זה נורמלי. כשזה קורה, סנכרן שוב. המפתח לזיווג טוב הוא סנכרון בתדירות גבוהה מאוד - תוך שניות או דקה לאחר ששמת לב שאתה לא מסונכרן. אם אתה משקיע חמש דקות (או יותר) בסנכרון, אתה יכול גם לקודד סולו, מכיוון שהסינכרון מחדש התכוף הוא זה שיוצר את הסינרגיה של זיווג.
    • כשאתה יכול, אמור מה אתה עומד לעשות לפני שתעשה זאת. יתרה מכך, שאל את בן / בת הזוג שלך; לדוגמא, "האם נכתוב את הבדיקה למקרה null?" לפעמים, עם זאת, אתה צריך לכתוב קוד כדי להבין את המחשבה שלך, וזה בסדר. ואז אתה יכול לומר שאתה עושה את זה: "אני צריך להקליד את זה כדי לראות אם זה רעיון טוב." הכי טוב לשמור על סוג זה של חקירה פחות מדקה.
    • כשבן הזוג שלך שואל אם אתה מסכים עם משהו, כמו "האם נכתוב את המבחן למקרה האפס עכשיו?" או "אני חושב שניתן למחוק את השיטה הזו עכשיו. האם אתה מסכים?", אמור "כן" או "לא" בצורה ברורה ומיידית.
    • זה בסדר להעביר את המקלדת קדימה ואחורה בתדירות גבוהה מאוד. לדוגמא, לפעמים הרבה יותר קל "לומר" משהו על ידי הקלדתו בקוד מאשר על ידי ניסיון להסביר אותו בקול רם. אז תן למתבונן לתפוס את המקלדת ולהקליד. אז אתה יכול לחזור אחורה, או לתת למתבונן להמשיך לנסוע, מה שהגיוני יותר ברגע זה.
  6. 6
    קח רגע לחגוג כשאתה מסיים משימות ומתגבר על בעיות. לדוגמא, בכל פעם שאתה מקבל מבחן לעבור, תן זה לזה חמישייה גבוהה. אם תגיע לחמישה בכל פעם שתקבל מבחן חדש להיכשל, אתה באמת תיכנס לחריץ של תכנות שיתופי ועיצוב מונחה מבחן.
  7. 7
    החלף תפקידים לעתים קרובות - לפחות כל חצי שעה. זה מעסיק את שניכם באופן מלא, שניכם מתאימים לפרטים ברמה הנמוכה ולתמונה הגדולה. כמו כן, נהיגה במלוא הפיצוץ יכולה לעייף אתכם, וקשה לשמור על הערנות הנדרשת מתפקיד הצופה יותר מחצי שעה. החלפת תפקידים טוענת אותך.
הזוג שלך יכול להזכיר לך בעדינות את המשימה הנוכחית בכל פעם
אם זה קורה, הזוג שלך יכול להזכיר לך בעדינות את המשימה הנוכחית בכל פעם.

טיפים

  • היו אדיבים במיוחד. לדוגמה, כאשר בן הזוג מצביע על שגיאה, אמור "תודה." כאשר אתה מצביע על שגיאה, עשה זאת בעדינות, כדי למנוע פגיעה באגו. שגיאות ותיקונן הן חלק נורמלי מתכנות, ולא עדות לכך שמישהו חסר יכולת. כמתבונן, תן לנהג לסיים לכתוב שורת קוד מלאה לפני שיצביע על שגיאה. לרוב האנשים זה מעצבן להיות מתוקן תוך כדי הקלדה, אך מועיל לתקן כשסיימו להקליד.
  • מחשבים ניידים פחות אידאליים בגלל הגודל הקטן והקושי לראות את המסך מזווית, אך עדיין תוכלו להתאים אותם למחשב נייד. טריק אחד הוא שהמתבונן יושב קצת מאחורי הנהג ולא בצד.
  • נסה להשתמש בשתי מקלדות ושני עכברים. "מעבר" בין נהגים הופך להרבה יותר קל. זה נעשה באמצעות מכשיר שנקרא מתג KVM, אליו אתה מחבר את המקלדות והעכברים ומעביר את החוטים למחשב. המתג קל כמו לסובב כפתור. ניתן להוסיף צג שני באותה קלות, וחלקם עשויים שלא לתמוך בצג (אם כי ה- "V" מייצג וידאו) ועשוי להיות אידיאלי אם הצרכים שלכם פחותים.
  • ההבדל בין זיווג בסדר / גרוע לזיווג נפלא הוא פשוט זה: שימו לב. הסתכל על המסך כשהנהג מקליד. כשבן הזוג שלך מדבר, הקשיב. לא אוכלים דגני בוקר. אל תבדוק את הטלפון שלך. אל תבדוק את ה- reddit. ששום פרט לא יעבור אותך. כשאתה שם לב, מדבר ומקשיב, אתה שקוע בלי מאמץ בעבודה, ונכנס ל"זרימה "העליזה של הזוגיות. זה כאשר התפוקה שלך מרקיעה שחקים. אם אחד או שניכם בודקים מנטלית, יכול להיות שאתם עובדים סולו.
    • אם יש לך הרגל לכל החיים לבדוק נפשית מתי אנשים אחרים מדברים איתך, או תמיד לבצע ריבוי משימות בין 5 דברים שונים, נסה לשים 100% מתשומת הלב שלך למשימה העומדת בפניך כניסוי של יום אחד. ראה בעצמך אם אתה נהנה מזה ואוהב את התוצאות שאתה מקבל. אתה יכול לבדוק מנטלית שוב ושוב, רק מתוך הרגל. אם זה קורה, הזוג שלך יכול להזכיר לך בעדינות את המשימה הנוכחית בכל פעם. התמקדות יכולה להיות הרבה יותר קלה עם זוג מאשר לבד.
  • אל תתווכח על עניינים ארכיטקטוניים או על עניינים טריוויאליים, עד כמה לכוון את הפלטה. צריך להחליט על דברים אלה לפני שתזווג.
    הנהג צריך לחשוב באופן פעיל כיצד להשיג את המשימה הנוכחית
    הנהג צריך לחשוב באופן פעיל כיצד להשיג את המשימה הנוכחית, ולא רק להקליד באופן פסיבי.
  • כתוב תחילה בדיקת יחידה לפני שתכתוב את היישום (אם ניתן לבחון את הקוד). הבדיקה היחידה עוזרת להגדיר את המטרה הזעירה הבאה בצורה ששניכם מבינים, מאז שניכם יכולים לראות את הקוד. המטרה הזעירה הבאה הופכת להיות "תגרום למבחן הזה לעבור". פיתוח מונחה-מבחן יכול להיות קשה ללמוד בהתחלה, אך זיווג עם מישהו שכבר רגיל לכך יכול ללמד את המיומנות די מהר.
  • שבו ליד שולחן בו תוכלו להעביר בקלות את המקלדת ביניכם להחלפת תפקידים. שולחן מלבני רגיל עובד בצורה הטובה ביותר (בניגוד לריהוט מוזר, מפותל, "ארגונומי").
  • מי שיודע פחות על המערכת או השפה צריך לעשות את רוב הנהיגה כדי להבטיח שהטירון יישאר מעורב. אתה לומד באופן פעיל יותר מאשר פסיבי.

אזהרות

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

דברים שתזדקק להם

  • צג אחד או שניים
  • שילוב מקלדת / עכבר אחד או שניים
FacebookTwitterInstagramPinterestLinkedInGoogle+YoutubeRedditDribbbleBehanceGithubCodePenWhatsappEmail