GIGO
GIGO (ראשי התיבות של: Garbage In, Garbage Out, בתרגום חופשי: "קלט זבל, פלט זבל") מונח מעולם מדעי המחשב המתייחס למצב בו קלט שגוי שהוזן לתוכנית מחשב או לפונקציה מבלי לוודא את נכונותו יוביל לפלט שגוי.
המונח משמש בהשאלה גם לתיאור של קבלת החלטות שגויות על בסיס מידע שגוי או חסר.
בתחום התוכנה, על מנת להימנע מהתופעה מקובל לבצע בדיקות תקינות והגבלות על נתוני הקלט בכניסה לפונקציה.
אטימולוגיה
עריכההמונח מבוסס על משקל של מונחים מוכרים.
מתחום מדעי המחשב:
- נכנס ראשון יוצא ראשון – FIFO
- נכנס אחרון יוצא ראשון – LIFO
מתחום הבקרה:
- מערכות מרובות קלט פלט – MIMO
- לכל קלט חסום פלט חסום – יציבות BIBO
דוגמאות
עריכה- סוג המשתנה – פונקציית חיבור שמקבלת כקלט שני איברים וסוכמת אותם. לדוגמה עבור קלט 1 ו-2 תחזיר 3. אם תקבל כקלט ספרה ותו – היא תספק פתרון מספרי בהתאם להמרת ASCII על אף שאין לזה משמעות מתמטית. למשל עבור 1+a תחזיר 98.
- סימן – פונקציית העברת כסף מחשבון בנק של לקוח לחשבון בנק של פלוני – מקבלת כקלט את סכום העברה ואישור הלקוח על העברה. בהתאם מחסירה את הסכום מחשבון הלקוח ומוסיפה לפלוני. במידה והייתה מקבלת כקלט סכום בסימן שלילי, דוגמת (100-), הייתה הפונקציה מחסירה סכום שלילי מחשבונו כלומר מוסיפה לו כסף ומוסיפה סכום שלילי לפלוני כלומר מחסירה לחשבון פלוני כסף וללא רשותו.