שאלות תרגיל בית 0

return or exit

תשובה ל: return or exit

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

1. ב-exit מערכת ההפעלה משחררת את המשאבים שהתוכנית לא שחררה (ובעצם זה בדיוק מה שקורה ב-return מ-main)
בתכנות עצמאי אתה בחיים לא תסמוך על exit משום שזה יוצר מצב בלתי אפשרי לדיבוג (איך תדע אם יש לך זליגה או שזה משהו שהשארת במכוון?) וגם כי למרות שלא ממש רואים זאת בתוכניות הצעצוע של מבוא (וגם של הקורס שלנו), הזיכרון הוא לא אינסופי. האם אתה היית רוצה להריץ תוכנית שזוללת לך זיכרון באופן הדרגתי, הולכת ומאטה לך את המחשב עד שלבסוף תוקעת אותו? כנראה שלא.

2. שימוש ב-exit זה רעיון גרוע כי זה יוצר מספר נקודות יציאה מהתוכנית (בנוסף ל-return מה-main). בזמן דיבוג (במיוחד של קוד שלא אתה כתבת או בדומה שכתבת לפני כמה שבועות) זה יהיה סיוט להבין באיזו מהנק' התוכנית יוצאת ולמה.  
בקורס אנחנו לומדים ליצור תוכנה שקופה וקלה לתחזוקה - חלק מזה זה לא להשתמש ב-exit.
אין להשתמש ב-exit בקורס.