ניפוי שגיאות באמצעות ברווז גומי
ניפוי שגיאות באמצעות ברווז גומי[1][2], בִּירווּז[3] או מבחן ברווז הגומי[4] הוא מונח הומוריסטי ולא-רשמי בהנדסת תוכנה המתאר שיטת ניפוי שגיאות בתוכנה.
רקע
על פי שיטה זו, מתכנת הנתקל בשגיאה בקוד, יסביר בקפידה את פעילות הקוד שכתב לחפץ דומם, כגון ברווז גומי. הנחת היסוד של התהליך היא, שכאשר יגיע המתכנת לחלק שגוי של הקוד, הוא ישים לב לשגיאה בזכות המאמץ שהשקיע בהסברת הקוד לחפץ הדומם[1]. השיטה מבוססת על כך שהניסיון להסביר יוצר דיסוננס קוגניטיבי; המתכנת מתעמת עם העובדה כי הקוד (בין אם הוא נכתב על ידו, ובין אם לאו) אינו מבצע את שתוכנן לבצע[5].
מקורה של שיטה זו בסיפור אודות מתכנת מומחה אשר היה שומר ברווז גומי בסמוך לשולחנו בכל עת. המתכנת היה מנפה שגיאות קוד בכך שהכריח את עצמו להסביר את הקוד, שורה-אחר-שורה, לברווז. יש הסבורים כי מדובר בדניס ריצ'י או בבריאן קרניגן[1]. למעשה קרניגן מציג שיטה זו בספרו "The Practice of Programming" שבה ממלא דוב צעצוע את תפקידו של ברווז הגומי[6].
שיטה הומוריסטית זו דומה בעיקרה לשיטות אחרות, פורמליות יותר של הנדסת תוכנה, ובכללן:
- code review כלומר סקירה ביקורתית של הקוד על ידי עמיתים, לעיתים כשלב מקדים ומחייב טרם הפעלת השינויים אותם מציע המתכנת לבסיס הקוד המשותף).
- pair programming שיטה על פיה התכנות נעשה בזוגות
- Software walkthrough שיטה על פיה מתכנת אחד מבאר לחברו את הקוד שכתב באמצעות מעבר עליו.
יתרה מכך, ההסבר לברווז גומי דומה ואף יכול לסייע לכתיבת תיעוד לתוכנה.
מונחים דומים
קישורים חיצוניים
הערות שוליים
- ^ 1.0 1.1 1.2 Essential Equipment - The Third Bit
- ^ What is this particular type of revelation called? - Stack Overflow
- ^ Rubber Ducking - The Pragmatic Programmer
- ^ The Rubber Duckie Test - Technically Speaking
- ^ 5.0 5.1 The Contribution of the Cardboard Cutout Dog to Software Reliability and Maintainability.
- ^ The Practice of Programming
- ^ Cardboard Programer - The Pragmatic Programmer
- ^ Cone of Answers- The Pragmatic Programmer
- ^ Thinking out Loud - The Pragmatic Programmer