יום רביעי, ספטמבר 30, 2015

מספר מילים על מאפיינים

אתמול הזכרתי כי אני לא ממש "מתלהב" מכתיבת מאפיינים בצורה של סוגרים מרובעים כפולים.  למעשה אני לא מתלהב מכל הרעיון של כתיבת מאפיינים, ובניגוד ל n2224 אני בכלל לא רוצה שזה יכנס.

אם כבר משתמשים במאפיינים אני אישית אוהב יותר את שיטת גנו - בשבילי זה נראה טבעי יותר לראות משהוא בסגנון של __attribute__(( )) .

דוגמא:
 void fatal () __attribute__ ((noreturn));
 
כמעט על מתכנת מתחיל יבין ישיר שמדובר במאפיין כל שהוא (כי התרגלנו לכתיב של __something__ שמציין לא חלק מהשפה ובגלל שיש משהוא בתוך סוגרים די ברור שמדובר על מה האפיון עצמו. עכשיו נשווה זאת לכתיב החדש ב C++11 :
[[noreturn]] void fatal ()


אני מאמין שזה הרבה פחות קריא מהקודם.

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

אין תגובות:

הוסף רשומת תגובה