ניפוי שגיאות באמצעות ברווז גומי

ניפוי שגיאות באמצעות ברווז גומי, בִּרְווּז[1] או מבחן ברווז הגומי[2]אנגלית: Rubber duck debugging או בקצרה Rubber ducking) הוא מונח הומוריסטי ולא-רשמי בהנדסת תוכנה המתאר שיטת ניפוי שגיאות בתוכנה.

ברווז גומי מונח על גבי מחשב נייד אל מול פניו של המתכנת לצורך הסברת השגיאות

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

רקע עריכה

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

מקורה של שיטה זו בסיפור אודות מתכנת מומחה אשר היה שומר ברווז גומי בסמוך לשולחנו בכל עת. המתכנת היה מנפה שגיאות קוד בכך שהכריח את עצמו להסביר את הקוד, שורה-אחר-שורה, לברווז. יש הסבורים כי מדובר בדניס ריצ'י או בבריאן קרניגן[דרוש מקור]. למעשה קרניגן מציג שיטה זו בספרו "The Practice of Programming" שבה ממלא דוב צעצוע את תפקידו של ברווז הגומי[4].

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

  • Code review - כלומר סקירה ביקורתית של הקוד על ידי עמיתים, לעיתים כשלב מקדים ומחייב טרם הפעלת השינויים אותם מציע המתכנת לבסיס הקוד המשותף.
  • Pair programming - שיטה על פיה התכנות נעשה בזוגות.
  • Software walkthrough - שיטה על פיה מתכנת אחד מבאר לחברו את הקוד שכתב באמצעות מעבר עליו.

יתרה מכך, ההסבר לברווז גומי דומה ואף יכול לסייע לכתיבת תיעוד לתוכנה.

מונחים דומים עריכה

  • מתכנת קרטון או גולם תכנות[5][3]
  • גביע של תשובות[6]
  • לחשוב בקול רם[7]

קישורים חיצוניים עריכה

הערות שוליים עריכה