נראה לי בדוגמה הראשונה השואת בינרים ממש מתבקשת
אני מניח שהבג שהתכוונתה אליו הוא התוספת נקודה פסיק בdefine
אז אם הקוד המקורי משתמש במספר הקסם 10 ככה:
for (i = 0; i < 10; i++) a = 10 + i + 1;
, אז החלפת ה10 ב define כזה
#define BUG 10;
היתה יוצרת קוד בינרי שונה ומיד היינו מגלים זאת ( כי היינו מצפים לקבל אותו בינרי כמו מקודם ) ואז היינו חוקרים למה הבינרי השתנה והיינו עולים על הבג ( במקום להריץ הרבה טסטים שלא בטוח שהם מכסים את הקוד הזה והכי גרוע שקוד כזה היה נשלח ללקוח ).
בדוגמה השניה אכן צריך להיות זהיר בהגדרת define ולא לכלול באותו אחד קבועים שמשמעותם שונה אבל במקרה הם זהים, פה באמת השוואת בינרים לא רלוונטית.
לגבי הוספת הערות לפעמים לא כדאי להוסיף אותם על ההתחלה, סביר שהקוד ישתנה אחרי כמה בדיקות והם עלולים להפוך לא נכונים וניזקם יהיה אפילו גדול על העדרם ( כי הם יבלבלו את הקורא בעתיד). כמו שאמרתי מקודם אז רק אחרי שהקוד עובד ועבר כמה טסטים כדאי להוסיף את הערות שאנו יודעים יותר טוב מה עשינו ( ונכון שמצד שני לא צריך להוסיף אותם אחרי הרבה זמן שאז נשכח מה הקוד עושה ).
אני לא מבין למה אתם נגד השוואת בינרים, זה רק בדיקה לוודא שלא שינינו קוד אחרי שעשינו שינויים "קוסמטיים" בלבד
אני מניח שהבג שהתכוונתה אליו הוא התוספת נקודה פסיק בdefine
אז אם הקוד המקורי משתמש במספר הקסם 10 ככה:
for (i = 0; i < 10; i++) a = 10 + i + 1;
, אז החלפת ה10 ב define כזה
#define BUG 10;
היתה יוצרת קוד בינרי שונה ומיד היינו מגלים זאת ( כי היינו מצפים לקבל אותו בינרי כמו מקודם ) ואז היינו חוקרים למה הבינרי השתנה והיינו עולים על הבג ( במקום להריץ הרבה טסטים שלא בטוח שהם מכסים את הקוד הזה והכי גרוע שקוד כזה היה נשלח ללקוח ).
בדוגמה השניה אכן צריך להיות זהיר בהגדרת define ולא לכלול באותו אחד קבועים שמשמעותם שונה אבל במקרה הם זהים, פה באמת השוואת בינרים לא רלוונטית.
לגבי הוספת הערות לפעמים לא כדאי להוסיף אותם על ההתחלה, סביר שהקוד ישתנה אחרי כמה בדיקות והם עלולים להפוך לא נכונים וניזקם יהיה אפילו גדול על העדרם ( כי הם יבלבלו את הקורא בעתיד). כמו שאמרתי מקודם אז רק אחרי שהקוד עובד ועבר כמה טסטים כדאי להוסיף את הערות שאנו יודעים יותר טוב מה עשינו ( ונכון שמצד שני לא צריך להוסיף אותם אחרי הרבה זמן שאז נשכח מה הקוד עושה ).
אני לא מבין למה אתם נגד השוואת בינרים, זה רק בדיקה לוודא שלא שינינו קוד אחרי שעשינו שינויים "קוסמטיים" בלבד