מה חדש ב-C# 6: בניית מחרוזת

עד היום, כאשר רצינו ליצור מחרוזות עם שילוב של ערכים מפונקציות או משתנים היינו צריכים להשתמש באחת הפונקציות מהמובנות של C# כמו string.Format או string.Concat.
השימוש ב-string.Format היה לעיתים מסורבל ולא נוח, היינו צריכים לזכור את סדר המשתנים שהגדרנו במחרוזת ולהגדיר אותם בסדר זהה בסוף המחרוזת, אם היינו מורידים משתנה או רוצים לשנות את הסדר זה היה יכול לגרום לתוצאות לא רצויות ואפילו לזריקת שגיאות לא צפויות (Exceptions).
ב-C#6 הוסיפו את הפונקציונליות שנקראת String Interpolation, שמאפשרת לנו לכתוב את המשתנים בתוך המחרוזת עצמה ולא בסוף כמו ב-string.Format. [עוד]

תגיות:

מה חדש ב-Visual Studio 2017: שיפורים ב-IntelliSense

IntelliSense (או בשמו המלא: Intelligent code completion) זה תכונה שמאפשרת סוג השלמה אוטומטית בזמן הכתיבה וקיימת במספר תוכנות לכתיבת קוד.

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

Visual Studio: הצגת מידע על משתנים במצב Debug

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

בפוסט זה אסביר על האפשרויות השונות של חלונות המשתנים ב-Visual Studio במצב Debug, ומה כל אחד מה מציג. [עוד]

מה חדש ב-Visual Studio 2017: סימון מקטעי הקוד

ב- Visual Studio 2017 ניתן לראות את הפס המקוטע/מקווקו החדש שמופיע ב-IDE ומסמן לנו את ההתחלה והסיום של כל מקטע קוד של namespace, פונקציות, לולאות ותנאים שעוזר לנו לראות איפה מתחיל ומסתיים כל אחד ממקטעי הקוד בדף. [עוד]

TypeScript - חלק ד': איך כותבים Enum

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

TypeScript מאפשר לנו לחייב את המשתמש לבחור רק מתוך הערכים שאנו מאפשרים ב-Enum ובכך לוודא שהוא לא מכניס ערכים שחורגים ממה שאנחנו מצפים לקבל. [עוד]

תגיות:

TypeScript - חלק ג': הגדרת Interface

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

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

מכיוון ש-JavaScript היא שפה דינמית אין בה את האפשרות ל-Interface כמשהו מחייב כמו בשפות אחרות (כמו ב- C Sharp למשל) ולכן ההוספה של Interface ל-TypeScript יכולה לעזור לנו בצורה משמעותית כאשר נרצה להשתמש בכך. [עוד]

תגיות:

TypeScript - חלק ב': איך כותבים Class

TypeScript הופך את כתיבת ה-Class להרבה יותר נוח לכתיבה ובטוח לשימוש בהשוואה ל-JavaScript, מכיוון שהוא מאפשר לנו לכתוב בצורה שיותר מוכרת לנו משפות תכנות אחרות כולל בנאים ומאפיינים ובנוסף הוא מוודא שכל שימוש ב-Class נעשה בצורה נכונה: שסוג המשתנים מתאים למה שהגדרנו ודרשנו מהלקוחות של ה-Class שבנינו, שלא יוצרים Class ללא השדות שהם חובה וכו'. [עוד]

תגיות:

מה חדש ב-C# 6: אופרטור לביצוע פעולה אם המשתנה לא ריק

כחלק מ-C# 6 קיבלנו אופרטור חדש שמאפשר לנו לבדוק אם המשתנה ריק (Null) לפני ביצוע פעולה.

אופרטור זה מקל מאוד על הכתיבה והופך אותה לברורה ופשוטה יותר ועל ידי כך גם מהירה יותר.

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

מה זה Bower ואיך מתקינים Bower על Windows

Bower הוא מנהל ספריות קוד (או חבילות קוד), בדומה ל-Nuget ב-Visual Studio אך בשונה ממנו Bower הוא בעיקר עבור ספריות צד לקוח כמו ספריות JavaScript או css למניהם (לדוגמא: Angular, bootstrap, וכו').

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

מה חדש ב-C# 6: פונקציה לקבלת שם המשתנה

פונקציה חדשה שנוספה לנו ב- C# 6 הוא הפונקציה nameOf, פונקציה זו מקבלת משתנה כפרמטר ומחזירה את שמו.

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

תגיות: