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

hard coded numbers

hard coded numbers

על ידי באסל עיילבוני בתאריך
מספר תגובות: 1

האם יש צורך לעשות define לכל מספר שמשתמשים בו כמו במבוא? 

אם כן, אני זוכר שאין צורך להגדיר את 0 ו 1, האם ניתן גם לא להגדיר את 2 (למשל אם אני רוצה לבדוק אם מספר הוא זוגי אז עושה חילוק מודולו ב 2 ומשווה ל 0), והאם יש עוד מספרים שאפשר לא להגדיר?

 

תודה וסופ"ש נעים,

באסל

בתגובה ל: באסל עיילבוני

תשובה ל: hard coded numbers

על ידי יורי פלדמן בתאריך

היי

השיקול הוא ש

1) הקוד יהיה ברור גם למישהו שלא פיתח אותו

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

3) הנ"ל רלוונטי יותר לתרגילי הבית הבאים, שיעברו בדיקה יבשה - בניגוד לתרגיל בית 0. בנוסף מדובר כמובן בעקרונות כלליים לכתיבת תוכנה, ולפעמים אפשר לחרוג מהם אם יש סיבה מוצדקת (לדוג' אם מימשתם תוך שימוש באופרטור << כמובן שהתמיכה תהיה רק בחלוקה בחזקות של - 2, שזה גם בסדר - רק צריך להיות מודעים לזה).

יורי