כל הכבוד לוועידת ה C++ ו C++26 , בשעה טובה ככל הנראה יש לנו תחליף מדהים לחלק מדרישות ה SAL שאני צריך, זה לא יחליף לחלוטין , לפחות בהתחלה (זה נועד לזמן ריצה ולא רק לבודק הסטטי) , אבל כמו שאני מכיר את המפתחים המדהימים של הקומפיילרים , וכמו שאני מכיר VS, זה יהיה יגיע די מהר. הייתרון של זה , שזה חלק מהשפה ויאפשר עבודה טובה יותר בין סביבות שונות יותר, זה לא רק ב SAL זה חלק מהשפה. זה יהיה יותר נגיש עבור אנשים אחרים וחדשים בשפה.
נקודה חשובה שמצטרפת לנו ב C++26 הוא שימוש ב preconditions ו postconsition לפונקציות , זה נעשה דרך חוזים (Contract)
דוגמא ? כמובן !
int doSomething(const int fp_amount_of_coins) pre (fp_amount_of_coints > 0 && "amount of coins must be a non zero value")וכמובן שיש גם post והחלק החשוב שבשונה מ SAL ניתן להשתמש בפונקציות בצורה ברורה:
;void clear() post (empty())וכמובן שאם אנחנו צריכים להתייחס לערך החזרה אפשר גם להגדיר אותו :
int doSomething(const int fp_amount_of_coins) post (r: r != 0)אני רוצה לציין שהדבר הזה הולך לחסוך לי הרבה מאוד עבודה, ויאפשר לי עבודה נוחה יותר.
הדוגמאות אינן שלי, אלא של מארק גרגורי.
ממליץ בחום לעבור על https://en.cppreference.com/w/cpp/language/contracts.html , אני אישית עובר על זה בשביל להית בטוח שאני מבין את כל הנקודות החשובות.
ממליץ בחום לעבור על https://en.cppreference.com/w/cpp/language/contracts.html , אני אישית עובר על זה בשביל להית בטוח שאני מבין את כל הנקודות החשובות.
אין תגובות:
הוסף רשומת תגובה